Skip to content

Instantly share code, notes, and snippets.

@GraemeF
Created November 5, 2023 11:24
Show Gist options
  • Save GraemeF/6695c18b0d8a4eaec226454bf17f19d8 to your computer and use it in GitHub Desktop.
Save GraemeF/6695c18b0d8a4eaec226454bf17f19d8 to your computer and use it in GitHub Desktop.
Presence-activated Light
blueprint:
name: Presence-activated Light
description: Turn on a light when presence is detected.
homeassistant:
min_version: 2023.8.0
domain: automation
source_url: https://community.home-assistant.io/t/presence-sensor-light-automation/564590
input:
presence_entity:
name: Presence Sensor
description: Presence sensor device
selector:
entity:
filter:
domain:
- binary_sensor
device_class:
- occupancy
multiple: false
light_target:
name: Light
description: Light device
selector:
target:
entity:
- domain:
- light
bright_percentage:
name: Bright Percentage
description: Brightness level that the light will turn into once is turned on
default: 100
selector:
number:
min: 0.0
max: 100.0
unit_of_measurement: percentage
mode: slider
step: 1.0
no_motion_wait:
name: Wait time
description: Time to leave the light on after last motion is detected.
default: 0
selector:
number:
min: 0.0
max: 3600.0
unit_of_measurement: seconds
mode: slider
step: 1.0
off_transition:
name: Transition time
description: Time in seconds of transition turning off
default: 0
selector:
number:
min: 0.0
max: 60.0
unit_of_measurement: seconds
mode: slider
step: 1.0
light_sensor:
name: Light sensor
description: Light sensor to read from
default: []
selector:
entity:
filter:
domain:
- sensor
device_class:
- illuminance
multiple: false
light_threshold:
name: Light threshold
description: Light sensor‘s lower threshold
default: 200
selector:
number:
min: 0.0
max: 255.0
mode: slider
step: 1.0
additional_conditions:
name: Additional conditions
description: |
Extra conditions you may want to add to this automation
(Example: Home occupied, TV on, etc)
default: []
selector:
condition:
trigger:
platform: state
entity_id: !input presence_entity
from: 'off'
to: 'on'
condition:
- condition: numeric_state
entity_id: !input light_sensor
below: !input light_threshold
- condition: !input additional_conditions
action:
- alias: Turn on the light
service: light.turn_on
target: !input light_target
data:
brightness_pct: !input bright_percentage
- alias: Wait until there is no motion from device
wait_for_trigger:
platform: state
entity_id: !input presence_entity
from: 'on'
to: 'off'
- alias: Wait the number of seconds that has been set
delay: !input no_motion_wait
- alias: Turn off the light
service: light.turn_off
target: !input light_target
data:
transition: !input off_transition
mode: restart
max_exceeded: silent
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment