Last active
January 3, 2025 11:02
-
-
Save toanju/e5564ebad2b8a07e8e6dfb4b62d8af1f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| blueprint: | |
| name: Parabolic Light Alarm Automation | |
| description: Turn a light on based on a start time. | |
| 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. This is when the automation will start. | |
| 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: Light | |
| 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. Set to `0` to keep the light on. | |
| default: 0 | |
| selector: | |
| number: | |
| min: 0 | |
| max: 120 | |
| 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 | |
| min: 2000 | |
| max: 6500 | |
| default: 2000 | |
| name: Starting Kelvin | |
| target_kelvin_1: | |
| description: >- | |
| Target Kelvin value (cold) for the end of the first run | |
| selector: | |
| color_temp: | |
| unit: kelvin | |
| min: 2000 | |
| max: 6500 | |
| default: 2150 | |
| 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 | |
| min: 2000 | |
| max: 6500 | |
| default: 2400 | |
| name: Target Kelvin 2 | |
| max_brightness_2: | |
| name: Maximum Brightness 2 | |
| 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: 5 | |
| target_kelvin_3: | |
| description: >- | |
| Target Kelvin value (cold) for third run | |
| selector: | |
| color_temp: | |
| unit: kelvin | |
| min: 2000 | |
| max: 6500 | |
| default: 2732 | |
| name: Target Kelvin 3 | |
| max_brightness_3: | |
| name: Maximum Brightness 3 | |
| description: Finish value for third and final run | |
| selector: | |
| number: | |
| min: 1 | |
| max: 100 | |
| default: 100 | |
| alarm_length_3: | |
| name: Alarm Length 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 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment