Last active
February 15, 2022 22:08
-
-
Save thomaskonrad/23fa4be6b7893cd802dd0468337b0139 to your computer and use it in GitHub Desktop.
This file contains 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 Light with illuminance | |
description: Turn on a light when motion is detected and illuminance is below a set Lux level. | |
domain: automation | |
input: | |
action_id: | |
name: Action ID | |
description: 'That is your Action name in snake case, e.g., "automatic_wc_light".' | |
selector: | |
text: | |
motion_entity: | |
name: Motion Sensor | |
selector: | |
entity: | |
domain: binary_sensor | |
device_class: occupancy | |
lux_entity: | |
name: Illuminance Sensor | |
selector: | |
entity: | |
domain: sensor | |
device_class: illuminance | |
lux_level: | |
name: Illuminance level | |
description: If lux is below this value and motion is detected, the light will turn on. | |
default: 100 | |
selector: | |
number: | |
min: 0 | |
max: 1000 | |
lux_level_measurement_interval_in_seconds: | |
name: Illuminance level measurement interval in seconds | |
default: 300 | |
selector: | |
number: | |
min: 1 | |
max: 3600 | |
light_target: | |
name: Light | |
selector: | |
target: | |
entity: | |
domain: light | |
no_motion_wait: | |
name: Wait time | |
description: Time to leave the light on after last motion is detected. | |
default: 120 | |
selector: | |
number: | |
min: 0 | |
max: 3600 | |
unit_of_measurement: seconds | |
variables: | |
action_id: !input action_id | |
lux_level_measurement_interval_in_seconds: !input lux_level_measurement_interval_in_seconds | |
mode: restart | |
max_exceeded: silent | |
trigger: | |
platform: state | |
entity_id: !input motion_entity | |
from: "off" | |
to: "on" | |
condition: | |
condition: or | |
conditions: | |
- condition: template | |
value_template: "{{ (as_timestamp(now()) - as_timestamp(state_attr('automation.' ~ action_id, 'last_triggered'))) < lux_level_measurement_interval_in_seconds }}" | |
- condition: numeric_state | |
entity_id: !input lux_entity | |
below: !input lux_level | |
action: | |
- service: light.turn_on | |
target: !input light_target | |
- wait_for_trigger: | |
platform: state | |
entity_id: !input motion_entity | |
from: "on" | |
to: "off" | |
- delay: !input no_motion_wait | |
- service: light.turn_off | |
target: !input light_target |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment