Hereâs a version that fixes the deprecated entity selector syntax and adds a condition selector to allow users to impose conditions as desired.
Requires HA 2023.8.0 or newer to handle the condition selector.
You can use what you like here in your main BP, itâs all yours. This was done to help one of your users in another thread
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
Is there any chance you might be able to add some conditions, either âwhen sun elevation is x degrees above/below the horizonâ or even a basic âonly work between x:xx AM and x:xx PMâ ?
The base blueprint works great, but find that it works 24x7, so when using for turning on lights based on presense/motion it ends up turning the lights on even when its the middle of the day and wastes energy.