Files
Home-Assistant-Configs/packages/lighting_fx.yaml

299 lines
8.5 KiB
YAML

script:
basement_lights_alert:
alias: Basement Lights Alert
mode: restart
icon: mdi:palette
fields:
type:
name: 'Type'
description: 'What type of alert you want the lights to run'
required: true
example: 'red, green, blue, police'
selector:
text:
multiline: false
duration:
name: 'Duration'
description: 'The duration to run the alert for'
required: false
example: '10'
selector:
number:
min: 1
max: 30
sequence:
- variables:
lightState: "{{ states('light.basement_studio_lights') }}"
adaptive: "{{ states('switch.adaptive_lighting_basement_studio') }}"
nightMode: "{{ 'on' if is_state('switch.adaptive_lighting_basement_studio','on') and is_state('switch.adaptive_lighting_sleep_mode_basement_studio','on') else 'off' }}"
- if:
- condition: template
value_template: "{{ lightState == 'on' }}"
then:
- service: scene.create
data:
scene_id: basement_alert_restore
snapshot_entities:
- light.basement_led_strip_1
- light.basement_short_lamp
- light.basement_tall_lamp
- light.basement_stairwell
- service: switch.turn_off
target:
entity_id: switch.adaptive_lighting_basement_studio
- service: lifx.set_state
target:
entity_id: light.basement_led_strip_1
data:
zones:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
color_name: "{{ 'red' if type == 'police' else type }}"
- service: lifx.set_state
target:
entity_id: light.basement_led_strip_1
data:
zones:
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
color_name: "{{ 'blue' if type == 'police' else 'white' }}"
- service: lifx.effect_move
target:
entity_id: light.basement_led_strip_1
data:
speed: 0.5
direction: right
power_on: true
- service: light.turn_on
target:
entity_id:
- light.basement_short_lamp
- light.basement_tall_lamp
- light.basement_stairwell
data:
color_name: "{{ 'red' if type == 'police' else type }}"
- delay:
seconds: "{{ duration|default(10) }}"
- choose:
- conditions: "{{ lightState == 'off' }}"
sequence:
- service: light.turn_off
target:
entity_id: light.basement_studio_lights
- service: switch.turn_on
target:
entity_id: switch.adaptive_lighting_basement_studio
- service: input_text.set_value
target:
entity_id: input_text.basement_studio_selected_scene
data:
value: Adaptive
- conditions: "{{ nightMode == 'on' }}"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.basement_studio_scenes
data:
option: Adaptive
- delay:
seconds: 1
- service: switch.turn_on
target:
entity_id: switch.adaptive_lighting_sleep_mode_basement_studio
- conditions: "{{ adaptive == 'on' }}"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.basement_studio_scenes
data:
option: Adaptive
default:
- service: scene.turn_on
target:
entity_id: scene.basement_alert_restore
- delay:
seconds: "{{ 3 if adaptive == 'on' or nightMode == 'on' else 1 }}"
- service: lifx.effect_stop
target:
entity_id: light.basement_led_strip_1
living_room_lights_alert:
alias: Living Room Lights Alert
mode: restart
icon: mdi:palette
fields:
type:
name: 'Type'
description: 'What type of alert you want the lights to run'
required: true
example: 'red, green, blue, police'
selector:
text:
multiline: false
duration:
name: 'Duration'
description: 'The duration to run the alert for'
required: false
example: '10'
selector:
number:
min: 1
max: 30
sequence:
- variables:
lightState: "{{ states('light.living_room_lights') }}"
adaptive: "{{ states('switch.adaptive_lighting_living_room') }}"
nightMode: "{{ 'on' if is_state('switch.adaptive_lighting_living_room','on') and is_state('switch.adaptive_lighting_sleep_mode_living_room','on') else 'off' }}"
- if:
- condition: template
value_template: "{{ lightState == 'on' }}"
then:
- service: scene.create
data:
scene_id: living_room_alert_restore
snapshot_entities:
- light.living_room_led_strip
- light.living_room_color_1
- light.living_room_color_2
- light.living_room_color_3
- service: switch.turn_off
target:
entity_id: switch.adaptive_lighting_living_room
- service: lifx.set_state
target:
entity_id: light.living_room_led_strip
data:
zones:
- 0
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
color_name: "{{ 'red' if type == 'police' else type }}"
- service: lifx.set_state
target:
entity_id: light.living_room_led_strip
data:
zones:
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
color_name: "{{ 'blue' if type == 'police' else 'white' }}"
- service: lifx.effect_move
target:
entity_id: light.living_room_led_strip
data:
speed: 0.5
direction: right
power_on: true
- service: light.turn_on
target:
entity_id:
- light.living_room_overhead
data:
color_name: "{{ 'red' if type == 'police' else type }}"
- delay:
seconds: "{{ duration|default(10) }}"
- choose:
- conditions: "{{ lightState == 'off' }}"
sequence:
- service: light.turn_off
target:
entity_id: light.living_room_lights
- service: switch.turn_on
target:
entity_id: switch.adaptive_lighting_living_room
- service: input_text.set_value
target:
entity_id: input_text.living_room_selected_scene
data:
value: Adaptive
- conditions: "{{ nightMode == 'on' }}"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.living_room_scenes
data:
option: Adaptive
- delay:
seconds: 1
- service: switch.turn_on
target:
entity_id: switch.adaptive_lighting_sleep_mode_living_room
- conditions: "{{ adaptive == 'on' }}"
sequence:
- service: input_select.select_option
target:
entity_id: input_select.living_room_scenes
data:
option: Adaptive
default:
- service: scene.turn_on
target:
entity_id: scene.living_room_alert_restore
- delay:
seconds: "{{ 3 if adaptive == 'on' or nightMode == 'on' else 1 }}"
- service: lifx.effect_stop
target:
entity_id: light.living_room_led_strip