Last active
July 28, 2021 02:32
-
-
Save JonGilmore/a13905356212bc920b6ff56d2e0737fb to your computer and use it in GitHub Desktop.
motion-switch.yaml
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: Motion-activated Switch with sun condition | |
description: Turn on a switch when motion is detected and sunset. | |
domain: automation | |
input: | |
motion_entity: | |
name: Motion Sensor | |
selector: | |
entity: | |
domain: binary_sensor | |
device_class: motion | |
switch_target: | |
name: Switch | |
selector: | |
target: | |
entity: | |
domain: switch | |
no_motion_wait: | |
name: Wait time | |
description: Time to leave the switch on after last motion is detected. | |
default: 120 | |
selector: | |
number: | |
min: 0 | |
max: 3600 | |
unit_of_measurement: seconds | |
sunset_offset: | |
name: Offset to turn on switches | |
description: Define offset to sunset | |
default: 60 | |
selector: | |
number: | |
min: 0 | |
max: 240 | |
unit_of_measurement: minutes | |
sunrise_offset: | |
name: Offset to turn off switches | |
description: Define offset to sunrise | |
default: 45 | |
selector: | |
number: | |
min: 0 | |
max: 240 | |
unit_of_measurement: minutes | |
# If motion is detected within the delay, | |
# we restart the script. | |
mode: restart | |
max_exceeded: silent | |
trigger: | |
platform: state | |
entity_id: !input motion_entity | |
from: "off" | |
to: "on" | |
condition: | |
- condition: or | |
conditions: | |
- condition: sun | |
after: sunset | |
after_offset: !input sunset_offset | |
- condition: sun | |
before: sunrise | |
before_offset: !input sunrise_offset | |
action: | |
- service: switch.turn_on | |
target: !input switch_target | |
- wait_for_trigger: | |
platform: state | |
entity_id: !input motion_entity | |
from: "on" | |
to: "off" | |
- delay: !input no_motion_wait | |
- service: switch.turn_off | |
target: !input switch_target |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment