Skip to content

Instantly share code, notes, and snippets.

@neumachen
Last active November 16, 2023 23:22
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save neumachen/f3be36562fe44650bd5d1611cf083a9c to your computer and use it in GitHub Desktop.
Save neumachen/f3be36562fe44650bd5d1611cf083a9c to your computer and use it in GitHub Desktop.
Turn Off Switches At Sunrise
blueprint:
name: Turn Off Switches At Sunrise
description: Turn off the following switches at sunrise
domain: automation
input:
# Create a variable for identifying the light to act upon
target_switch:
name: Switches
description: This is the switch (or switches) that will be deactivated at sunrise
# Use a selector, to pick the light(s)
selector:
target:
entity:
domain: switch
# Create a variable for capturing the desired offset for shifting the trigger
elevation_shift:
name: Elevation Shift
description: Using an elevation offset (height of sun relative to the horizon) to shift the sunrise trigger, either earlier or later. Positive values bring the automation start time forward, whilst negative values delay the start time.
default: 0.0
# Use a selector, to set the time shift or offset
selector:
number:
min: -10
max: 10.0
mode: slider
step: 1.0
# Prevent the automation from running concurrently
mode: single
# Define the variables used in the action section
variables:
target_switch: !input target_switch
# Define the trigger for the automation
trigger:
# Using the state of the sun to act as the trigger
platform: numeric_state
entity_id: sun.sun
attribute: elevation
# Can be a positive or negative number
above: !input elevation_shift
# Add a condition to ensure that this only triggers near sunrise, in the morning
condition:
# Check that it is after sunrise
condition: sun
before: sunrise
# Add a buffer to be sure
before_offset: "00:45:00"
# This section will take action on the lights, and turn them on
action:
# A very simple structure of turning on the selected light(s)
- service: switch.turn_off
target: !input target_switch
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment