mirror of
https://github.com/CeeWeasel/fresh-home.git
synced 2026-08-09 10:30:14 -04:00
196 lines
6.5 KiB
YAML
196 lines
6.5 KiB
YAML
alias: Nursery Lights to On
|
|
id: automation_nursery_lights_to_on
|
|
mode: single
|
|
# Hide warnings when triggered while in delay.
|
|
max_exceeded: silent
|
|
|
|
trigger:
|
|
- platform: state
|
|
id: mode_change
|
|
entity_id:
|
|
- input_select.nursery_mode
|
|
- input_select.automatic_light_profile
|
|
|
|
- platform: state
|
|
id: light_level
|
|
entity_id: binary_sensor.nursery_naturally_lit
|
|
from: "on"
|
|
to: "off"
|
|
|
|
- platform: state
|
|
entity_id: input_boolean.nursery_occupied
|
|
to: "on"
|
|
|
|
- platform: state
|
|
id: occupied
|
|
entity_id: binary_sensor.nursery_occupied
|
|
to: "on"
|
|
|
|
# - platform: state
|
|
# id: motion
|
|
# entity_id: group.nursery_motion
|
|
# to: "on"
|
|
|
|
condition:
|
|
- alias: "Home is occupied"
|
|
condition: state
|
|
entity_id: input_boolean.home_occupied
|
|
state: "on"
|
|
|
|
- alias: "Nursery light cycle not on"
|
|
condition: state
|
|
entity_id: input_boolean.nursery_light_cycle
|
|
state: "off"
|
|
|
|
- alias: "Check if light should turn on"
|
|
condition: or
|
|
conditions:
|
|
- alias: "Guest mode is on"
|
|
condition: state
|
|
entity_id: input_boolean.guest_mode
|
|
state: "on"
|
|
|
|
- alias: "Motion or occupancy were detected in a dim room"
|
|
condition: and
|
|
conditions:
|
|
- alias: "Light level below trigger amount"
|
|
condition: state
|
|
entity_id: binary_sensor.nursery_naturally_lit
|
|
state: "off"
|
|
|
|
- alias: "Motion or occupancy were detected"
|
|
condition: or
|
|
conditions:
|
|
- alias: "Motion was detected"
|
|
condition: trigger
|
|
id: "motion"
|
|
- alias: "Occupancy was detected"
|
|
condition: trigger
|
|
id: "occupied"
|
|
- alias: "A scene changed and the lights are already on"
|
|
condition: and
|
|
conditions:
|
|
- condition: trigger
|
|
id: "mode_change"
|
|
- condition: state
|
|
entity_id: input_boolean.nursery_occupied
|
|
state: "on"
|
|
|
|
variables:
|
|
switch_name: light.nursery_dimmer_light
|
|
light_name: nursery_hue
|
|
mode_name: input_select.nursery_mode
|
|
automatic_profile: input_select.automatic_light_profile
|
|
action:
|
|
- alias: "Make sure Z-Wave switch is turned on"
|
|
action: homeassistant.turn_on
|
|
target:
|
|
entity_id: "{{ switch_name }}"
|
|
- choose:
|
|
- alias: "If the room is set to manual, just turn the lights on"
|
|
conditions:
|
|
- alias: "Room set to manual"
|
|
condition: state
|
|
entity_id: input_select.nursery_mode
|
|
state: Manual
|
|
sequence:
|
|
- action: light.turn_on
|
|
target:
|
|
entity_id: light.nursery_hue
|
|
|
|
- alias: "If the room is set to auto, the lights are on, and the automatic profile is set to Nightlight, change to the Automatic Light Profile scene with a short transition"
|
|
conditions:
|
|
- alias: "Room set to auto"
|
|
condition: state
|
|
entity_id: input_select.nursery_mode
|
|
state: Auto
|
|
- alias: "Lights are on"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "on"
|
|
- alias: "Automatic light profile set to Nightlight"
|
|
condition: state
|
|
entity_id: input_select.automatic_light_profile
|
|
state: Nightlight
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 10
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(automatic_profile).lower().replace(' ','_')}}"
|
|
|
|
- alias: "If the room is set to auto and the lights are on, change to the Automatic Light Profile scene with a transition"
|
|
conditions:
|
|
- alias: "Room set to auto"
|
|
condition: state
|
|
entity_id: input_select.nursery_mode
|
|
state: Auto
|
|
- alias: "Lights are on"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "on"
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: "{{ states('input_number.light_scene_transition') }}"
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(automatic_profile).lower().replace(' ','_')}}"
|
|
|
|
- alias: "If the room is set to auto and the lights are off, change to the Automatic Light Profile scene without a transition"
|
|
conditions:
|
|
- alias: "Room set to auto"
|
|
condition: state
|
|
entity_id: input_select.nursery_mode
|
|
state: Auto
|
|
- alias: "Lights are off"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "off"
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(automatic_profile).lower().replace(' ','_')}}"
|
|
|
|
- alias: "If the room is not set to auto, the lights are on, and the room is set to Nightlight change to the Nursery Mode scene with a short transition"
|
|
conditions:
|
|
- alias: "Room not manual or auto and lights are on"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "on"
|
|
- alias: "Room set to Nightlight"
|
|
condition: state
|
|
entity_id: input_select.nursery_mode
|
|
state: Nightlight
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: 10
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(mode_name).lower().replace(' ','_')}}"
|
|
|
|
- alias: "If the room is not set to auto and the lights are on, change to the Nursery Mode scene with a transition"
|
|
conditions:
|
|
- alias: "Room not manual or auto and lights are on"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "on"
|
|
sequence:
|
|
- action: scene.turn_on
|
|
data:
|
|
transition: "{{ states('input_number.light_scene_transition') }}"
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(mode_name).lower().replace(' ','_')}}"
|
|
|
|
- alias: "If the room is not set to auto and the lights are on, change to the Nursery Mode scene without a transition"
|
|
conditions:
|
|
- alias: "Room not manual or auto and lights are off"
|
|
condition: state
|
|
entity_id: light.nursery_hue
|
|
state: "off"
|
|
sequence:
|
|
- action: scene.turn_on
|
|
target:
|
|
entity_id: "scene.{{light_name}}_{{states(mode_name).lower().replace(' ','_')}}"
|
|
|
|
- delay: 1
|