ha_cercadian_alarm/parabolic_alarm.yaml
2024-09-13 15:41:48 -04:00

193 lines
4.9 KiB
YAML

blueprint:
name: Parabolic Alarm Automation
description: Turn a light on based on detected motion
domain: automation
input:
alarm_start_time:
name: Start Time
description: Datetime helper for alarm to start. Use time only and Workday sensor to determine what days to run.
selector:
entity:
filter:
- domain: input_datetime
workday_sensor:
name: Workday Sensor
description: Binary Sensor for determining whether it should run. Typically from Workday Integration
selector:
entity:
filter:
- domain: binary_sensor
alarm_script:
name: Script to trigger
description: Light Alarm Script
selector:
entity:
filter:
- domain: script
target_light:
name: Lights
description: The light(s) with kelvin
selector:
entity:
filter:
- domain: light
light_timeout:
name: Timeout
description: Light will turn off after this time on last run
default: 10
selector:
number:
min: 1
max: 60
steps_per_minute:
name: Steps per minute for all runs
description: Used for configuring percentage of each step for brightness and color temperature
default: 12
selector:
number:
min: 1
max: 60
start_kelvin_temp:
description: Start Kelvin value (warm) for 1st run
selector:
color_temp:
unit: kelvin
default: 2500
name: Starting Kelvin
target_kelvin_1:
description: >-
Target Kelvin value (cold) for the end of the first run
selector:
color_temp:
unit: kelvin
default: 3000
name: Target Kelvin 1
max_brightness_1:
name: Maximum Brightness 1
description: Finish value for first run
selector:
number:
min: 1
max: 100
default: 10
alarm_length_1:
name: Alarm Length 1
description: >-
This is the start to finish time for the first run
selector:
number:
min: 1
max: 60
default: 10
target_kelvin_2:
description: >-
Target Kelvin value (cold) for second run
selector:
color_temp:
unit: kelvin
default: 4000
name: Target Kelvin 2
max_brightness_2:
name: Maximum Brightness 1
description: Finish value for second run
selector:
number:
min: 1
max: 100
default: 50
alarm_length_2:
name: Alarm length 2
description: >-
This is the start to finish time for the second run
selector:
number:
min: 1
max: 60
default: 10
target_kelvin_3:
description: >-
Target Kelvin value (cold) for third run
selector:
color_temp:
unit: kelvin
default: 6500
name: Target Kelvin 3
max_brightness_3:
name: Maximum Brightness 1
description: Finish value for third and final run
selector:
number:
min: 1
max: 100
default: 100
alarm_length_3:
name: Alarm Lenght 3
description: >-
This is the start to finish time for the third run
selector:
number:
min: 1
max: 60
default: 5
trigger:
- platform: time
at: !input alarm_start_time
condition:
- condition: state
entity_id: !input workday_sensor
state: "on"
action:
- action: light.turn_on
data:
color_temp_kelvin: !input start_kelvin_temp
brightness_pct: 1
entity_id: !input target_light
- delay:
seconds: 5
- action: !input alarm_script
data:
target_kelvin: !input target_kelvin_1
start_kelvin: !input start_kelvin_temp
max_brightness_pct: !input max_brightness_1
alarm_length: !input alarm_length_1
steps_per_minute: !input steps_per_minute
light_timeout: 0
target_light: !input target_light
- if:
- condition: state
state: "on"
entity_id: !input target_light
then:
- action: !input alarm_script
data:
target_kelvin: !input target_kelvin_2
start_kelvin: !input target_kelvin_1
max_brightness_pct: !input max_brightness_2
alarm_length: !input alarm_length_2
steps_per_minute: !input steps_per_minute
light_timeout: 0
target_light: !input target_light
- if:
- condition: state
state: "on"
entity_id: !input target_light
then:
- action: !input alarm_script
data:
target_kelvin: !input target_kelvin_3
start_kelvin: !input target_kelvin_2
max_brightness_pct: !input max_brightness_3
alarm_length: !input alarm_length_3
steps_per_minute: !input steps_per_minute
light_timeout: !input light_timeout
target_light: !input target_light
mode: parallel
max: 10