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 id: occupied entity_id: - input_boolean.nursery_occupied - 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