# packages/adaptive_lighting_global.yaml # # Global constants for Adaptive Lighting Mode System # This file is shared across all rooms and should be version controlled. # # To use: Place in config/packages/ directory # Enable packages in configuration.yaml: # homeassistant: # packages: !include_dir_named packages/ # ============================================================================= # MODE SETTINGS DEFINITIONS # ============================================================================= # Each mode has its own input_text helper with nested JSON schema # Schema: {"behavior": "adaptive_lighting"|"scene"|"script", # "manual_control": true|false, # "led_color": 0-255, # "al_config": {AL settings dict}} # Room automations use convention-based lookup to apply settings # ============================================================================= input_text: # Adaptive mode - uses default AL configuration adaptive_lighting_settings_adaptive: name: "AL Settings: Adaptive" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":170,"al_config":{"use_defaults":"configuration"}}' # Relaxing mode - dim, warm white adaptive_lighting_settings_relaxing: name: "AL Settings: Relaxing" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":21,"al_config":{"min_brightness":20,"max_brightness":40,"min_color_temp":2000,"max_color_temp":2500,"transition":5}}' # Sleep mode - very dim red/amber adaptive_lighting_settings_sleep: name: "AL Settings: Sleep" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":0,"al_config":{"min_brightness":1,"max_brightness":5,"min_color_temp":2000,"sleep_rgb_color":[255,50,0],"transition":2}}' # Theater mode - dim, cool for movies adaptive_lighting_settings_theater: name: "AL Settings: Theater" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":127,"al_config":{"min_brightness":5,"max_brightness":20,"min_color_temp":3000,"max_color_temp":4000,"transition":3}}' # Party mode - bright, dynamic for socializing adaptive_lighting_settings_party: name: "AL Settings: Party" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":234,"al_config":{"min_brightness":60,"max_brightness":90,"min_color_temp":3500,"max_color_temp":4500,"transition":1}}' # Cooking mode - bright, cool task lighting adaptive_lighting_settings_cooking: name: "AL Settings: Cooking" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":42,"al_config":{"min_brightness":90,"max_brightness":100,"min_color_temp":4500,"max_color_temp":5500,"transition":1}}' # Dining mode - medium, warm for meals adaptive_lighting_settings_dining: name: "AL Settings: Dining" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":21,"al_config":{"min_brightness":40,"max_brightness":70,"min_color_temp":2500,"max_color_temp":3500,"transition":3}}' # Cleanup mode - bright, standard for cleaning adaptive_lighting_settings_cleanup: name: "AL Settings: Cleanup" max: 255 initial: '{"behavior":"adaptive_lighting","manual_control":false,"led_color":170,"al_config":{"min_brightness":80,"max_brightness":100,"min_color_temp":4000,"max_color_temp":5000,"transition":1}}' # ============================================================================= # USAGE NOTES # ============================================================================= # To access mode settings in blueprints/automations: # {% set mode = states('input_select.room_lighting_mode') %} # {% set settings_entity = 'input_text.adaptive_lighting_settings_' ~ (mode | lower | replace(' ', '_')) %} # {% set settings = states(settings_entity) | from_json %} # {{ settings.behavior }} # "adaptive_lighting", "scene", "script" # {{ settings.manual_control }} # true/false - controls AL manual control state # {{ settings.led_color }} # 0-255 hue value for LED feedback # {{ settings.al_config }} # Dict to pass to adaptive_lighting.change_switch_settings # # To add custom modes: # See ADDING_MODES.md for complete tutorial