initial push

This commit is contained in:
CeeWeasel
2024-04-14 14:08:56 -04:00
commit 53bf393d14
1111 changed files with 71730 additions and 0 deletions
@@ -0,0 +1,405 @@
alias: Great Room Light Cycle
id: automation_great_room_light_cycle
mode: restart
trigger:
- id: light_cycle_on
platform: state
entity_id: input_boolean.great_room_light_cycle
from: 'off'
to: 'on'
- id: light_cycle_off
platform: state
entity_id: input_boolean.great_room_light_cycle
from: 'on'
to: 'off'
- id: projector_off
platform: state
entity_id: switch.shelly_projector
from: 'on'
to: 'off'
- id: projector_on
platform: state
entity_id: switch.shelly_projector
from: 'off'
to: 'on'
- id: setting_change
platform: state
entity_id:
- input_number.great_room_light_cycle_transition
- input_select.great_room_color_set
- input_boolean.great_room_cycle_same
condition: "{{ is_state('input_boolean.great_room_light_cycle','on') }}"
action:
- choose:
- conditions:
- condition: state
entity_id: switch.shelly_projector
state: 'on'
sequence:
- service: light.turn_off
target:
entity_id: light.basement_2, light.basement_4
- choose:
- conditions:
- condition: state
entity_id: input_boolean.great_room_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.great_room_cycle_same
state: 'on'
- condition: state
entity_id: switch.shelly_projector
state: 'off'
sequence:
- service: light.turn_on
target:
entity_id: light.downstairs
data:
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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 the same color and the projector is on, reference the specific lights that don't obscure the tv
- condition: state
entity_id: input_boolean.great_room_cycle_same
state: 'on'
- condition: state
entity_id: switch.shelly_projector
state: 'on'
sequence:
- service: light.turn_on
target:
entity_id: light.basement_1, light.basement_3, light.basement_5
data:
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_cycle_same
state: 'off'
sequence:
- service: light.turn_on
target:
entity_id: light.basement_1
data:
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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 }}
- service: light.turn_on
target:
entity_id: light.basement_3
data:
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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 }}
- service: light.turn_on
target:
entity_id: light.basement_5
data:
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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 }}
- choose: # If the projector is off, go ahead and reference all the lights
- conditions:
- condition: state
entity_id: switch.shelly_projector
state: 'off'
sequence:
- service: light.turn_on
data_template:
entity_id: light.basement_2
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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 }}
- service: light.turn_on
data_template:
entity_id: light.basement_4
brightness: '{{ states("input_number.great_room_light_cycle_brightness") | int }}'
transition: '{{ states("input_number.great_room_light_cycle_transition") | int }}'
profile: >
{% if states('input_select.great_room_color_set') == 'Basic' %}
{% set colors = ['white','black','red','orange','yellow','green','blue','purple','pink','brown','gray'] %}
{% elif states('input_select.great_room_color_set') == 'Color Wheel' %}
{% set colors = ['red','orange','amber','yellow','chartreuse','green','teal','blue','violet','purple','magenta'] %}
{% elif states('input_select.great_room_color_set') == 'Rainbow' %}
{% set colors = ['red','orange','yellow','green','blue','indigo','violet'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_color_set') == 'Gem Tones' %}
{% set colors = ['amethyst','citrine','emerald','jade','lapis_lazuli','malachite','rose_quartz','ruby','sapphire','smokey_topaz'] %}
{% elif states('input_select.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_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.great_room_light_cycle_transition") | int }}'
until:
- condition: state
entity_id: input_boolean.great_room_light_cycle
state: 'off'
- choose:
- conditions:
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'on'
sequence:
- service: automation.trigger
entity_id: automation.great_room_lights_to_on
- conditions:
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'off'
sequence:
- service: automation.trigger
entity_id: automation.great_room_lights_to_off
- choose:
- conditions:
- condition: state
entity_id: input_boolean.computer_area_occupied
state: 'on'
sequence:
- service: automation.trigger
entity_id: automation.computer_area_lights_to_on
- conditions:
- condition: state
entity_id: input_boolean.computer_area_occupied
state: 'off'
sequence:
- service: automation.trigger
entity_id: automation.computer_area_lights_to_off
@@ -0,0 +1,60 @@
alias: Great Room Light Switch
description: 'Handles button presses for the Great Room Motion Switch'
id: automation.great_room_light_switch
mode: single
trigger:
- platform: state
entity_id:
- switch.great_room_motion_switch
from: "on"
to: "off"
id: turned_off
- platform: state
entity_id:
- switch.great_room_motion_switch
from: "off"
to: "on"
id: turned_on
condition: []
action:
- choose:
- conditions:
- condition: trigger
id: turned_off
- condition: state
entity_id: switch.great_room_motion_switch
state: 'off'
sequence:
- service: input_select.select_option
data:
option: Manual
target:
entity_id: input_select.great_room_mode
- conditions:
- condition: trigger
id: turned_on
- condition: state
entity_id: switch.great_room_motion_switch
state: 'on'
sequence:
- choose:
- conditions:
- condition: state
entity_id: input_select.great_room_mode
state: Manual
sequence:
- service: input_select.select_option
data:
option: Auto
target:
entity_id: input_select.great_room_mode
- conditions:
- condition: state
entity_id: input_select.great_room_mode
state: Auto
sequence:
- service: input_select.select_option
data:
option: Bright
target:
entity_id: input_select.great_room_mode
@@ -0,0 +1,79 @@
alias: Great Room Lights to Off
id: automation_great_room_lights_to_off
mode: restart
trigger:
- platform: state
entity_id: input_select.great_room_mode
- platform: state
entity_id: input_boolean.great_room_occupied
to: 'off'
- platform: state
id: light_level
entity_id: binary_sensor.great_room_naturally_lit
from: 'off'
to: 'on'
#- platform: time_pattern
# minutes: "/5"
condition:
- condition: or
conditions:
- condition: state
entity_id: input_select.great_room_mode
state: 'Off'
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'off'
- condition: state
entity_id: input_boolean.great_room_light_cycle
state: 'off'
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.lighting_automations
state: 'on'
- condition: or
conditions:
- condition: state
entity_id: input_select.great_room_mode
state: 'Off'
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'off'
- condition: not
conditions:
- condition: state
entity_id: input_select.great_room_mode
state: 'Manual'
sequence:
- service: scene.turn_on
data:
transition: 5
target:
entity_id: scene.great_room_hue_off
# - service: light.turn_off
# target:
# entity_id: light.basement_2, light.basement_3, light.basement_4, light.basement_5
- choose:
- conditions:
- condition: state
entity_id: light.computer_area_hue
state: 'off'
- condition: state
entity_id: input_boolean.guest_mode
state: 'on'
sequence:
- alias: "Turn off z-wave switch since all lights are off"
service: homeassistant.turn_off
target:
entity_id: switch.great_room_motion_switch
default:
- service: light.turn_off
target:
entity_id: light.great_room_hue
@@ -0,0 +1,164 @@
alias: Great Room Lights to On
id: automation_great_room_lights_to_on
mode: single
# Hide warnings when triggered while in delay.
max_exceeded: silent
trigger:
- platform: state
id: mode_change
entity_id:
- input_select.great_room_mode
- input_select.automatic_light_profile
- platform: state
id: light_level
entity_id: binary_sensor.great_room_naturally_lit
from: 'on'
to: 'off'
- platform: state
id: occupied
entity_id:
- binary_sensor.great_room_occupied
- input_boolean.great_room_occupied
to: "on"
# - platform: state
# id: motion
# entity_id: group.great_room_motion
# to: "on"
condition:
- alias: "Home is occupied"
condition: state
entity_id: input_boolean.home_occupied
state: "on"
- alias: "Great Room Light Cycle is off"
condition: state
entity_id: input_boolean.great_room_light_cycle
state: "off"
- alias: "lighting automations enabled"
condition: state
entity_id: input_boolean.lighting_automations
state: "on"
- alias: "Check if light should turn on"
condition: or
conditions:
- alias: "Guest mode is on"
condition: state
entity_id: input_boolean.guest_mode
state: "on"
- alias: "Motion or occupancy were detected in a dim room"
condition: and
conditions:
- alias: "Light level below trigger amount"
condition: state
entity_id: binary_sensor.great_room_naturally_lit
state: 'off'
- alias: "Motion or occupancy were detected"
condition: or
conditions:
- alias: "Motion was detected"
condition: trigger
id: "motion"
- alias: "Occupancy was detected"
condition: trigger
id: "occupied"
- alias: "A scene changed and the lights are already on"
condition: and
conditions:
- condition: trigger
id: "mode_change"
- condition: state
entity_id: input_boolean.great_room_occupied
state: "on"
variables:
switch_name: switch.great_room_motion_switch
light_name: great_room_hue
mode_name: input_select.great_room_mode
action:
- alias: "Make sure Z-Wave switch is turned on"
service: homeassistant.turn_on
target:
entity_id: "{{ switch_name }}"
- choose:
- alias: "If the room is set to manual, just turn the lights on"
conditions:
- alias: "Room set to manual"
condition: state
entity_id: input_select.great_room_mode
state: Manual
sequence:
- service: light.turn_on
target:
entity_id: light.great_room_hue
- alias: "If the room is set to auto and the lights are on, change to the Automatic Light Profile scene with a transition"
conditions:
- alias: "Room set to auto"
condition: state
entity_id: input_select.great_room_mode
state: Auto
- alias: "Lights are on"
condition: state
entity_id: light.great_room_hue
state: 'on'
sequence:
- service: scene.turn_on
data:
transition: "{{ states('input_number.light_scene_transition') }}"
target:
entity_id: "scene.{{light_name}}_{{states('input_select.automatic_light_profile').lower().replace(' ','_')}}"
- alias: "If the room is set to auto and the lights are off, change to the Automatic Light Profile scene without a transition"
conditions:
- alias: "Room set to auto"
condition: state
entity_id: input_select.great_room_mode
state: Auto
- alias: "Lights are off"
condition: state
entity_id: light.great_room_hue
state: 'off'
sequence:
- service: scene.turn_on
target:
entity_id: "scene.{{light_name}}_{{states('input_select.automatic_light_profile').lower().replace(' ','_')}}"
- alias: "If the room is not set to auto and the lights are on, change to the Great Room Mode scene with a transition"
conditions:
- alias: "Room not manual or auto and lights are on"
condition: state
entity_id: light.great_room_hue
state: 'on'
sequence:
- service: scene.turn_on
data:
transition: "{{ states('input_number.light_scene_transition') }}"
target:
entity_id: "scene.{{light_name}}_{{states(mode_name).lower().replace(' ','_')}}"
- alias: "If the room is not set to auto and the lights are on, change to the Great Room Mode scene without a transition"
conditions:
- alias: "Room not manual or auto and lights are off"
condition: state
entity_id: light.great_room_hue
state: 'off'
sequence:
- service: scene.turn_on
target:
entity_id: "scene.{{light_name}}_{{states(mode_name).lower().replace(' ','_')}}"
- delay: 1
@@ -0,0 +1,65 @@
alias: 'Great Room Not Occupied'
id: automation_great_room_not_occupied
mode: restart
trigger:
- platform: state
entity_id: input_boolean.home_occupied
from: 'on'
to: 'off'
- platform: state
entity_id:
- input_boolean.home_occupied
- binary_sensor.great_room_occupied
to: 'off'
for: '00:15:00'
# - platform: time_pattern
# minutes: "/5"
condition:
- condition: state
entity_id: input_boolean.lights_off_manually
state: 'off'
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'on'
- condition: or
conditions:
- condition: state
entity_id: input_boolean.home_occupied
state: 'off'
- condition: and
conditions:
- condition: state
entity_id: binary_sensor.great_room_person_occupancy
state: 'off'
for:
minutes: 15
- condition: state
entity_id: binary_sensor.great_room_occupied
state: 'off'
for:
minutes: 15
action:
- choose:
- conditions:
- condition: state
entity_id: input_boolean.home_occupied
state: 'off'
sequence:
- service: homeassistant.turn_off
entity_id: input_boolean.great_room_occupied
- conditions:
- condition: not
conditions:
- condition: state
entity_id: input_select.house
state: 'Manual'
sequence:
- service: homeassistant.turn_off
entity_id: input_boolean.great_room_occupied
@@ -0,0 +1,18 @@
alias: 'Great Room Occupied'
id: automation_great_room_occupied
mode: restart
trigger:
- platform: state
entity_id:
- binary_sensor.great_room_occupied
to: 'on'
condition:
# Computer area was not already occupied
- condition: state
entity_id: input_boolean.great_room_occupied
state: 'off'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.great_room_occupied
@@ -0,0 +1,69 @@
alias: Great Room Projector
id: automation_great_room_projector
mode: single
trigger:
- platform: state
id: idle_five_min
entity_id: media_player.downstairs_roku
not_from: 'unavailable'
to: 'idle'
for: '00:05:00'
- platform: state
id: home_fifteen_min
entity_id: media_player.downstairs_roku
not_from: 'unavailable'
to: 'home'
for: '00:15:00'
- platform: state
id: playing_fifteen_min
entity_id: media_player.downstairs_roku
from: 'playing'
for: '00:15:00'
- platform: state
id: from_idle
entity_id: media_player.downstairs_roku
from: 'idle'
condition:
alias: "Roku not unavailable"
condition: not
conditions:
- condition: state
entity_id: media_player.downstairs_roku
state: unavailable
action:
- choose:
# The project turns on at seemingly random times.
# commenting this out to see if that fixes the problem
# - alias: "Roku no longer idle, turn on projector"
# conditions:
# - condition: trigger
# id: from_idle
# - condition: state
# entity_id: switch.shelly_projector
# state: 'off'
# sequence:
# - service: switch.turn_on
# data:
# entity_id: switch.shelly_projector
- alias: "Roku idle or unused, turn off projector"
conditions:
- condition: state
entity_id: switch.shelly_projector
state: 'on'
- condition: or
conditions:
- condition: trigger
id: idle_five_min
- condition: trigger
id: home_fifteen_min
sequence:
- service: switch.turn_off
target:
entity_id: switch.shelly_projector
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.great_room_light_cycle
default: []
@@ -0,0 +1,58 @@
alias: Great Room TV Off
id: automation_great_room_tv_off
trigger:
- platform: state
entity_id: media_player.downstairs_roku
from: 'playing'
to: 'idle'
for: '00:00:30'
- platform: state
entity_id: media_player.downstairs_roku
from: 'playing'
to: 'on'
for: '00:00:30'
- platform: state
entity_id: media_player.downstairs_roku
from: 'playing'
to: 'home'
for: '00:00:30'
- platform: state
entity_id: media_player.downstairs_roku
from: 'paused'
to: 'idle'
for: '00:00:30'
- platform: state
entity_id: media_player.downstairs_roku
from: 'paused'
to: 'home'
for: '00:00:30'
condition:
- condition: state
entity_id: input_boolean.lighting_automations
state: 'on'
- condition: state
entity_id: input_boolean.great_room_light_cycle
state: 'on'
action:
- choose:
- conditions: "{{is_state('input_boolean.great_room_light_cycle','on')}}"
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.great_room_light_cycle
- choose:
- conditions: "{{is_state('input_boolean.computer_area_light_cycle','on')}}"
sequence:
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.computer_area_light_cycle
# - service: input_select.select_option
# target:
# entity_id: input_select.nursery_mode
# data:
# option: "Nightlight"
@@ -0,0 +1,33 @@
alias: Great Room TV Paused
id: automation_great_room_tv_paused
trigger:
- platform: state
entity_id: media_player.downstairs_roku
from: 'playing'
to: 'idle'
- platform: state
entity_id: media_player.downstairs_roku
from: 'playing'
to: 'home'
- platform: state
entity_id: media_player.downstairs_roku
from: 'paused'
to: 'idle'
- platform: state
entity_id: media_player.downstairs_roku
from: 'paused'
to: 'home'
condition:
- condition: state
entity_id: input_boolean.lighting_automations
state: 'on'
- condition: state
entity_id: input_boolean.great_room_light_cycle
state: 'on'
action:
- service: input_number.set_value
data:
value: 30
target:
entity_id: input_number.great_room_light_cycle_brightness
@@ -0,0 +1,117 @@
alias: Great Room TV Playing
id: automation_great_room_tv_playing
trigger:
- platform: state
entity_id: media_player.downstairs_roku
to: 'playing'
- platform: state
entity_id: input_select.time_of_day
- platform: homeassistant
event: start
- platform: event
event_type: automation_reloaded
condition:
- alias: Something besides YouTube is playing
condition: and
conditions:
- condition: not
conditions:
- alias: "The kids aren't watching YouTube"
condition: state
entity_id: media_player.downstairs_roku
attribute: source
state: 'YouTube'
- condition: state
entity_id: media_player.downstairs_roku
state: 'playing'
- condition: state
entity_id: input_boolean.lighting_automations
state: 'on'
- condition: state
entity_id: light.great_room_hue
state: 'on'
- alias: It is later in the day/evening
condition: template
value_template: "{{ is_state('binary_sensor.early_evening','on') or is_state('binary_sensor.evening','on') or is_state('binary_sensor.late_evening','on') or is_state('binary_sensor.night','on') or is_state('binary_sensor.early_morning','on') or is_state('binary_sensor.late_afternoon','on')}}"
- condition: or
conditions:
- alias: "Kids home and awake"
condition: and
conditions:
- condition: state
entity_id: input_boolean.kids_away
state: 'off'
- condition: state
entity_id: input_boolean.kids_asleep
state: 'off'
- alias: "Kids home and asleep"
condition: and
conditions:
- condition: state
entity_id: input_boolean.kids_away
state: 'off'
- condition: state
entity_id: input_boolean.kids_asleep
state: 'on'
- alias: "Kids away"
condition: and
conditions:
- condition: state
entity_id: input_boolean.kids_away
state: 'on'
action:
- choose:
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Late Afternoon'
sequence:
- service: input_number.set_value
data:
value: 100
target:
entity_id: input_number.great_room_light_cycle_brightness
- conditions:
- condition: state
entity_id: input_select.time_of_day
state: 'Early Evening'
sequence:
- service: input_number.set_value
data:
value: 75
target:
entity_id: input_number.great_room_light_cycle_brightness
default:
- service: input_number.set_value
data:
value: 55
target:
entity_id: input_number.great_room_light_cycle_brightness
- service: input_number.set_value
data:
value: 30
target:
entity_id: input_number.great_room_light_cycle_transition
- service: input_select.select_option
data:
option: Silver Swirl
target:
entity_id: input_select.great_room_color_set
- service: input_boolean.turn_off
data: {}
target:
entity_id: input_boolean.great_room_cycle_same
- service: input_boolean.turn_on
data: {}
target:
entity_id: input_boolean.great_room_light_cycle
#b 15
#t 30
#Silver Swirl
#