Files
fresh-home/blueprints/automation/clevertwain/room_lights_to_off.yaml
T
2025-10-10 20:24:52 -04:00

152 lines
4.6 KiB
YAML

blueprint:
name: Room Lights to Off
description: "## Room Lights to Off\n\nThis blueprint will turn off lights\
\ in a room based off of the criteria specified. The room will need an input_boolean\
\ to use for determining if it is occupied. It will also need an input_select to determine\
\ whether the room is in Auto mode, Manual mode, or forcefully off.\n\nIf specified\
\ a switch will also be turned off when the room is in Guest mode"
domain: automation
input:
target_light:
name: Lights
description: The lights in the room that need to be turned off
selector:
entity:
domain: light
room_mode:
name: Room Mode
description: The Input_Select that describes what mode the room is in.
selector:
entity:
domain: input_select
manual_option:
name: Manual Option
description: The Input_Select option that implies the room is in Manual mode.
default: Manual
selector:
text:
off_option:
name: Off Option
description: The Input_Select option that implies the room is forcefully Off.
default: "Off"
selector:
text:
room_occupied:
name: Room Occupied
description: The Input_Boolean that describes whether the room is occupied
selector:
entity:
domain: input_boolean
light_level_sensor:
name: Light Level Sensor
description: To keep from turning the light on when the room is already naturally lit, this sensor is checked
selector:
entity:
domain: sensor
device_class: illuminance
light_level_trigger:
name: Light Level Trigger
description: The Input_Number that is compared against the specified light level sensor
selector:
entity:
domain: input_number
manual_switch:
name: Manual Switch (Optional)
description: The Switch that should be turned off if the room is in Manual mode
selector:
entity:
domain: switch
lighting_automations:
name: Lighting Automations
description: The Input_Boolean that describes whether lighting automations are enabled
selector:
entity:
domain: input_boolean
guest_mode:
name: Guest Mode (Optional)
description: The Input_Boolean that describes whether guest mode is enabled
selector:
entity:
domain: input_boolean
mode: restart
variables:
light_level_sensor: !input light_level_sensor
light_level_trigger: !input light_level_trigger
trigger:
- platform: state
entity_id: !input room_mode
- platform: state
entity_id: !input room_occupied
to: "off"
- platform: state
entity_id: !input light_level_sensor
- platform: state
entity_id: !input light_level_trigger
condition:
- condition: or
conditions:
- condition: state
entity_id: !input room_mode
state: !input off_option
- condition: state
entity_id: !input room_occupied
state: "off"
- "{{ states(light_level_sensor) | float(default=0) >= states(light_level_trigger) | float(default=0) }}"
action:
- choose:
- conditions:
- condition: or
conditions:
- condition: and
conditions:
- condition: state
entity_id: !input lighting_automations
state: "on"
- condition: state
entity_id: !input room_occupied
state: "off"
- condition: not
conditions:
- condition: state
entity_id: !input room_mode
state: !input manual_option
- "{{ states(light_level_sensor) | float(default=0) >= states(light_level_trigger) | float(default=0) }}"
sequence:
- alias: Turn off lights
action: light.turn_off
target:
entity_id: !input target_light
- choose:
- conditions:
- "{{ manual_switch is defined }}"
- "{{ guest_mode is defined }}"
sequence:
- choose:
- conditions:
- condition: state
entity_id: !input guest_mode
state: "on"
sequence:
- alias: "Turn off the switch since all lights are off"
action: homeassistant.turn_off
target:
entity_id: !input manual_switch