alias: Nursery Light Cycle id: automation_nursery_light_cycle trigger: - id: light_cycle_on platform: state entity_id: input_boolean.nursery_light_cycle from: "off" to: "on" - id: setting_change platform: state entity_id: - input_number.nursery_light_cycle_transition - input_select.nursery_color_set - input_boolean.nursery_cycle_same condition: "{{ is_state('input_boolean.nursery_light_cycle','on') }}" action: - choose: - conditions: - condition: state entity_id: input_boolean.nursery_light_cycle state: "on" sequence: - repeat: sequence: - choose: - conditions: # If all lights should be the same color and the projector is off, reference the Hue group for all the lights - condition: state entity_id: input_boolean.nursery_cycle_same state: "on" sequence: - action: light.turn_on target: entity_id: light.nursery_hue data: brightness: '{{ states("input_number.nursery_light_cycle_brightness") | int }}' transition: '{{ states("input_number.nursery_light_cycle_transition") | int }}' profile: > {% if states('input_select.nursery_color_set') == 'Basic' %} {% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %} {% elif states('input_select.nursery_color_set') == 'Color Wheel' %} {% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %} {% elif states('input_select.nursery_color_set') == 'Rainbow' %} {% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %} {% elif states('input_select.nursery_color_set') == 'Flourescent' %} {% set colors = ['radical_red','wild_watermelon','outrageous_orange','atomic_tangerine','neon_carrot','sunglow','laser_lemon','unmellow_yellow','electric_lime','screamin_green','magic_mint','blizzard_blue','shocking_pink','razzle_dazzle_rose','hot_magenta','purple_pizzazz'] %} {% elif states('input_select.nursery_color_set') == 'Silver Swirl' %} {% set colors = ['aztec_gold','burnished_brown','cerulean_frost','cinnamon_satin','copper_penny','cosmic_cobalt','glossy_grape','granite_gray','green_sheen','lilac_luster','misty_moss','mystic_maroon','pearly_purple','pewter_blue','polished_pine','quick_silver','rose_dust','rusty_red','shadow_blue','shiny_shamrock','steel_teal','sugar_plum','twilight_lavender','wintergreen_dream'] %} {% elif states('input_select.nursery_color_set') == 'Gem Tones' %} {% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %} {% elif states('input_select.nursery_color_set') == 'Reds' %} {% set colors = ['auburn','baby_pink','barn_red','burgundy','burnt_umber','cadmium_red','cardinal','chesnut','chili_red','congo_pink','coral_pink','desire','fire_engine_red','imperial_red','new_york_pink','paradise_pink','pastel_pink','pigment_red','rust','salmon_pink','tango_pink','turkey_red','vanilla_ice','wine'] %} {% elif states('input_select.nursery_color_set') == 'Oranges' %} {% set colors = ['beaver','cadmium_orange','carrot_orange','champagne','chocolate','cocoa_brown','desert_sand','flame','gamboge','international_orange','kobicha','lion','marigold','orange_peel','persian_orange','persimmon','peru','portland_orange','pumpkin','russet','safety_orange','sandy_brown','tan','taupe','tawny','tea_rose','wood_brown'] %} {% elif states('input_select.nursery_color_set') == 'Yellows' %} {% set colors = ['amber','beige','buff','citrine','cream','cyber_yellow','ecru','harvest_gold','jasmine','jonquil','khaki','lemon','mellow_yellow','mikado_yellow','mustard','naples_yellow','old_gold','process_yellow','royal_yellow','safety_yellow','saffron','school_bus_yellow','straw','vanilla'] %} {% elif states('input_select.nursery_color_set') == 'Greens' %} {% set colors = ['army_green','artichoke','asparagus','avacado','bottle_green','bright_mint','celadon','emerald','fern_green','forest_green','harlequin','hunter_green','india_green','islamic_green','jade','kelly_green','laurel_green','malachite','mantis','mint_green','moss_green','neon_green','olive','pakistan_green','paris_green','rifle_green','russian_green','sea_green','shamrock_green','slytherin_green'] %} {% elif states('input_select.nursery_color_set') == 'Cyans' %} {% set colors = ['aqua','aquamarine','brunswick_green','celadon_green','celeste','cerulean','charleston_green','dark_cyan','electric_blue','feldgrau','gray_green','midnight_green','morning_blue','myrtle_green','persian_green','robin_egg_blue','sky_blue','teal','teal_blue','turquoise','verdigris','viridian'] %} {% elif states('input_select.nursery_color_set') == 'Blues' %} {% set colors = ['azure','baby_blue','blue_gray','capri','cornflower','egyptian_blue','glaucous','independence','indigo','indigo_dye','liberty','light_blue','midnight_blue','navy_blue','periwinkle','powder_blue','resolution_blue','sapphire','space_cadet','steel_blue','ultramarine'] %} {% elif states('input_select.nursery_color_set') == 'Purples' %} {% set colors = ['byzantium','dark_purple','electric_indigo','eminence','heliotrope','indigo','indigo_dye','mardi_gras','mauve','medium_purple','orchid','pansy_purple','phlox','purpureus','thistle','tropical_indigo','tyrian_purple','royal_purple'] %} {% elif states('input_select.nursery_color_set') == 'Magentas' %} {% set colors = ['amaranth','antique_fuchsia','baby_pink','cameo_pink','carnation_pink','charm_pink','china_pink','cotton_candy','dark_magenta','fandango','french_fuchsia','french_pink','fuchsia_rose','magenta_haze','mimi_pink','persian_pink','piggy_pink','pink','pink_lace','pink_lavender','plum','queen_pink','rose','rose_quartz','shocking_pink','silver_pink','sky_magenta','super_pink'] %} {% elif states('input_select.nursery_color_set') == 'Grays' %} {% set colors = ['ash_gray','battleship_gray','cadet_gray','charcoal','dim_gray','gunmetal','jet','marengo','nickel','platinum','rocket_metallic','silver','slate_gray'] %} {% endif %} {{ colors|random }} - conditions: # If all lights should be different colors, start referencing the individual lights that don't obscure the TV - condition: state entity_id: input_boolean.nursery_cycle_same state: "off" sequence: - action: light.turn_on target: entity_id: light.nursery_color_1 data: brightness: '{{ states("input_number.nursery_light_cycle_brightness") | int }}' transition: '{{ states("input_number.nursery_light_cycle_transition") | int }}' profile: > {% if states('input_select.nursery_color_set') == 'Basic' %} {% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %} {% elif states('input_select.nursery_color_set') == 'Color Wheel' %} {% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %} {% elif states('input_select.nursery_color_set') == 'Rainbow' %} {% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %} {% elif states('input_select.nursery_color_set') == 'Flourescent' %} {% set colors = ['radical_red','wild_watermelon','outrageous_orange','atomic_tangerine','neon_carrot','sunglow','laser_lemon','unmellow_yellow','electric_lime','screamin_green','magic_mint','blizzard_blue','shocking_pink','razzle_dazzle_rose','hot_magenta','purple_pizzazz'] %} {% elif states('input_select.nursery_color_set') == 'Silver Swirl' %} {% set colors = ['aztec_gold','burnished_brown','cerulean_frost','cinnamon_satin','copper_penny','cosmic_cobalt','glossy_grape','granite_gray','green_sheen','lilac_luster','misty_moss','mystic_maroon','pearly_purple','pewter_blue','polished_pine','quick_silver','rose_dust','rusty_red','shadow_blue','shiny_shamrock','steel_teal','sugar_plum','twilight_lavender','wintergreen_dream'] %} {% elif states('input_select.nursery_color_set') == 'Gem Tones' %} {% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %} {% elif states('input_select.nursery_color_set') == 'Reds' %} {% set colors = ['auburn','baby_pink','barn_red','burgundy','burnt_umber','cadmium_red','cardinal','chesnut','chili_red','congo_pink','coral_pink','desire','fire_engine_red','imperial_red','new_york_pink','paradise_pink','pastel_pink','pigment_red','rust','salmon_pink','tango_pink','turkey_red','vanilla_ice','wine'] %} {% elif states('input_select.nursery_color_set') == 'Oranges' %} {% set colors = ['beaver','cadmium_orange','carrot_orange','champagne','chocolate','cocoa_brown','desert_sand','flame','gamboge','international_orange','kobicha','lion','marigold','orange_peel','persian_orange','persimmon','peru','portland_orange','pumpkin','russet','safety_orange','sandy_brown','tan','taupe','tawny','tea_rose','wood_brown'] %} {% elif states('input_select.nursery_color_set') == 'Yellows' %} {% set colors = ['amber','beige','buff','citrine','cream','cyber_yellow','ecru','harvest_gold','jasmine','jonquil','khaki','lemon','mellow_yellow','mikado_yellow','mustard','naples_yellow','old_gold','process_yellow','royal_yellow','safety_yellow','saffron','school_bus_yellow','straw','vanilla'] %} {% elif states('input_select.nursery_color_set') == 'Greens' %} {% set colors = ['army_green','artichoke','asparagus','avacado','bottle_green','bright_mint','celadon','emerald','fern_green','forest_green','harlequin','hunter_green','india_green','islamic_green','jade','kelly_green','laurel_green','malachite','mantis','mint_green','moss_green','neon_green','olive','pakistan_green','paris_green','rifle_green','russian_green','sea_green','shamrock_green','slytherin_green'] %} {% elif states('input_select.nursery_color_set') == 'Cyans' %} {% set colors = ['aqua','aquamarine','brunswick_green','celadon_green','celeste','cerulean','charleston_green','dark_cyan','electric_blue','feldgrau','gray_green','midnight_green','morning_blue','myrtle_green','persian_green','robin_egg_blue','sky_blue','teal','teal_blue','turquoise','verdigris','viridian'] %} {% elif states('input_select.nursery_color_set') == 'Blues' %} {% set colors = ['azure','baby_blue','blue_gray','capri','cornflower','egyptian_blue','glaucous','independence','indigo','indigo_dye','liberty','light_blue','midnight_blue','navy_blue','periwinkle','powder_blue','resolution_blue','sapphire','space_cadet','steel_blue','ultramarine'] %} {% elif states('input_select.nursery_color_set') == 'Purples' %} {% set colors = ['byzantium','dark_purple','electric_indigo','eminence','heliotrope','indigo','indigo_dye','mardi_gras','mauve','medium_purple','orchid','pansy_purple','phlox','purpureus','thistle','tropical_indigo','tyrian_purple','royal_purple'] %} {% elif states('input_select.nursery_color_set') == 'Magentas' %} {% set colors = ['amaranth','antique_fuchsia','baby_pink','cameo_pink','carnation_pink','charm_pink','china_pink','cotton_candy','dark_magenta','fandango','french_fuchsia','french_pink','fuchsia_rose','magenta_haze','mimi_pink','persian_pink','piggy_pink','pink','pink_lace','pink_lavender','plum','queen_pink','rose','rose_quartz','shocking_pink','silver_pink','sky_magenta','super_pink'] %} {% elif states('input_select.nursery_color_set') == 'Grays' %} {% set colors = ['ash_gray','battleship_gray','cadet_gray','charcoal','dim_gray','gunmetal','jet','marengo','nickel','platinum','rocket_metallic','silver','slate_gray'] %} {% endif %} {{ colors|random }} - action: light.turn_on target: entity_id: light.nursery_color_2 data: brightness: '{{ states("input_number.nursery_light_cycle_brightness") | int }}' transition: '{{ states("input_number.nursery_light_cycle_transition") | int }}' profile: > {% if states('input_select.nursery_color_set') == 'Basic' %} {% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %} {% elif states('input_select.nursery_color_set') == 'Color Wheel' %} {% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %} {% elif states('input_select.nursery_color_set') == 'Rainbow' %} {% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %} {% elif states('input_select.nursery_color_set') == 'Flourescent' %} {% set colors = ['radical_red','wild_watermelon','outrageous_orange','atomic_tangerine','neon_carrot','sunglow','laser_lemon','unmellow_yellow','electric_lime','screamin_green','magic_mint','blizzard_blue','shocking_pink','razzle_dazzle_rose','hot_magenta','purple_pizzazz'] %} {% elif states('input_select.nursery_color_set') == 'Silver Swirl' %} {% set colors = ['aztec_gold','burnished_brown','cerulean_frost','cinnamon_satin','copper_penny','cosmic_cobalt','glossy_grape','granite_gray','green_sheen','lilac_luster','misty_moss','mystic_maroon','pearly_purple','pewter_blue','polished_pine','quick_silver','rose_dust','rusty_red','shadow_blue','shiny_shamrock','steel_teal','sugar_plum','twilight_lavender','wintergreen_dream'] %} {% elif states('input_select.nursery_color_set') == 'Gem Tones' %} {% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %} {% elif states('input_select.nursery_color_set') == 'Reds' %} {% set colors = ['auburn','baby_pink','barn_red','burgundy','burnt_umber','cadmium_red','cardinal','chesnut','chili_red','congo_pink','coral_pink','desire','fire_engine_red','imperial_red','new_york_pink','paradise_pink','pastel_pink','pigment_red','rust','salmon_pink','tango_pink','turkey_red','vanilla_ice','wine'] %} {% elif states('input_select.nursery_color_set') == 'Oranges' %} {% set colors = ['beaver','cadmium_orange','carrot_orange','champagne','chocolate','cocoa_brown','desert_sand','flame','gamboge','international_orange','kobicha','lion','marigold','orange_peel','persian_orange','persimmon','peru','portland_orange','pumpkin','russet','safety_orange','sandy_brown','tan','taupe','tawny','tea_rose','wood_brown'] %} {% elif states('input_select.nursery_color_set') == 'Yellows' %} {% set colors = ['amber','beige','buff','citrine','cream','cyber_yellow','ecru','harvest_gold','jasmine','jonquil','khaki','lemon','mellow_yellow','mikado_yellow','mustard','naples_yellow','old_gold','process_yellow','royal_yellow','safety_yellow','saffron','school_bus_yellow','straw','vanilla'] %} {% elif states('input_select.nursery_color_set') == 'Greens' %} {% set colors = ['army_green','artichoke','asparagus','avacado','bottle_green','bright_mint','celadon','emerald','fern_green','forest_green','harlequin','hunter_green','india_green','islamic_green','jade','kelly_green','laurel_green','malachite','mantis','mint_green','moss_green','neon_green','olive','pakistan_green','paris_green','rifle_green','russian_green','sea_green','shamrock_green','slytherin_green'] %} {% elif states('input_select.nursery_color_set') == 'Cyans' %} {% set colors = ['aqua','aquamarine','brunswick_green','celadon_green','celeste','cerulean','charleston_green','dark_cyan','electric_blue','feldgrau','gray_green','midnight_green','morning_blue','myrtle_green','persian_green','robin_egg_blue','sky_blue','teal','teal_blue','turquoise','verdigris','viridian'] %} {% elif states('input_select.nursery_color_set') == 'Blues' %} {% set colors = ['azure','baby_blue','blue_gray','capri','cornflower','egyptian_blue','glaucous','independence','indigo','indigo_dye','liberty','light_blue','midnight_blue','navy_blue','periwinkle','powder_blue','resolution_blue','sapphire','space_cadet','steel_blue','ultramarine'] %} {% elif states('input_select.nursery_color_set') == 'Purples' %} {% set colors = ['byzantium','dark_purple','electric_indigo','eminence','heliotrope','indigo','indigo_dye','mardi_gras','mauve','medium_purple','orchid','pansy_purple','phlox','purpureus','thistle','tropical_indigo','tyrian_purple','royal_purple'] %} {% elif states('input_select.nursery_color_set') == 'Magentas' %} {% set colors = ['amaranth','antique_fuchsia','baby_pink','cameo_pink','carnation_pink','charm_pink','china_pink','cotton_candy','dark_magenta','fandango','french_fuchsia','french_pink','fuchsia_rose','magenta_haze','mimi_pink','persian_pink','piggy_pink','pink','pink_lace','pink_lavender','plum','queen_pink','rose','rose_quartz','shocking_pink','silver_pink','sky_magenta','super_pink'] %} {% elif states('input_select.nursery_color_set') == 'Grays' %} {% set colors = ['ash_gray','battleship_gray','cadet_gray','charcoal','dim_gray','gunmetal','jet','marengo','nickel','platinum','rocket_metallic','silver','slate_gray'] %} {% endif %} {{ colors|random }} - delay: seconds: '{{ states("input_number.nursery_light_cycle_transition") | int }}' until: - condition: state entity_id: input_boolean.nursery_light_cycle state: "off" - action: automation.trigger entity_id: automation.nursery_lights_to_on