mysmarthome/packages/motion_timers.yaml

356 lines
11 KiB
YAML

###############################################################################
# @author : Mahasri Kalavala
# @date : 11/19/2017
# @package : Timers and Lights/Switches
# @description : All lights and switches are now timer enabled
# and the timer automatically extends when there is
# motion. When timer elapses, it turns off lights.
###############################################################################
homeassistant:
customize:
timer.timer_kitchen:
hidden: true
timer.timer_familyroom:
hidden: true
timer.timer_frontroom:
hidden: true
timer.timer_garage:
hidden: true
timer.timer_diningroom:
hidden: true
timer.timer_masterbedroom:
hidden: true
timer.timer_masterbathroom:
hidden: true
timer.timer_officeroom:
hidden: true
timer:
timer_kitchen:
duration: "00:10:00"
timer_familyroom:
duration: "00:05:00"
timer_frontroom:
duration: "00:05:00"
timer_garage:
duration: "00:05:00"
timer_masterbedroom:
duration: "00:05:00"
timer_masterbathroom:
duration: "00:05:00"
timer_officeroom:
duration: "00:05:00"
###############################################################################
# _ _ _
# /\ | | | | (_)
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
#
###############################################################################
automation:
# Master Bathroom:
# Motion Detected - Turn ON the light and extend timer
###############################################################################
- alias: Master Bathroom Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.motion_sensor_158d000464c25a
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: timer.start
entity_id: timer.timer_masterbathroom
- service: light.turn_on
entity_id: light.master_bathroom_lights
data:
brightness: 64 # 25% of brightness
transition: 5
- condition: template
value_template: '{{states("sun.sun") == "above_horizon"}}'
- service: light.turn_on
entity_id: light.master_bathroom_lights
data:
brightness: 254 # 100% of brightness
transition: 5
- alias: Master Bathroom Timer Elapsed
initial_state: true
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.timer_masterbathroom
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service_template: >
{{ 'light.turn_off' if states('binary_sensor.motion_sensor_158d000464c25a') != 'on' else 'timer.start' }}
data:
entity_id: "{{ 'light.master_bathroom_lights' if states('binary_sensor.motion_sensor_158d000464c25a') != 'on' else 'timer.timer_masterbathroom' }}"
# Office Room:
# Motion Detected - Turn ON the light and extend timer
###############################################################################
- alias: Officeroom Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.motion_sensor_158d000272bfd7
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: timer.start
entity_id: timer.timer_officeroom
- service: switch.turn_on
entity_id: switch.office_room
- alias: Officeroom Timer Elapsed
initial_state: true
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.timer_officeroom
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
- condition: state
entity_id: input_boolean.working_in_office_room
state: "off"
action:
- service_template: >
{{ 'switch.turn_off' if states('binary_sensor.motion_sensor_158d000272bfd7') != 'on' else 'timer.start' }}
data:
entity_id: "{{ 'switch.office_room' if states('binary_sensor.motion_sensor_158d000272bfd7') != 'on' else 'timer.timer_officeroom' }}"
# # Front Room:
# # Motion Detected - Turn ON the light and extend timer
# ###############################################################################
- alias: Frontroom Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.motion_sensor_158d00016db6d2
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: timer.start
entity_id: timer.timer_frontroom
- condition: template
value_template: "{{ states('sun.sun') == 'below_horizon' }}"
- service: switch.turn_on
entity_id: switch.front_room
# Kitchen:
# Motion Detected - Turn ON the light and extend timer
###############################################################################
- alias: Kitchen Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id:
- binary_sensor.motion_sensor_158d0001a662fe
- binary_sensor.kitchen_motion_sensor_sensor
- binary_sensor.basement_door_sensor_sensor
from: "off"
to: "on"
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: switch.turn_on
entity_id: switch.kitchen_switch
- service: timer.start
entity_id: timer.timer_kitchen
# Kitchen:
# Timer Elapsed - Turn OFF lights
###############################################################################
- alias: Kitchen Timer Elapsed
initial_state: true
trigger:
- platform: event
event_type: timer.finished
event_data:
entity_id: timer.timer_kitchen
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service_template: >
{% if now().hour|int >= states('sensor.bedtime_hour') |int and
now().minute|int >= states('sensor.bedtime_minute') |int %}
switch.turn_off
{% else %}
switch.turn_on
{% endif %}
entity_id: switch.kitchen_switch
# Family Room:
# Motion Detected - When TV is OFF, turn ON the light 100% and extend timer
###############################################################################
- alias: Family Room Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id:
# - binary_sensor.tv_multi_sensor_sensor
- binary_sensor.motion_sensor_158d0001a25041
from: "off"
to: "on"
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: template
value_template: "{{ states('input_boolean.movie_time') != 'on' }}"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
data:
brightness: >
{% if states('binary_sensor.sharp_tv') == "on" %}
25
{% else %}
254
{% endif %}
color_temp: 154
transition: 5
- service: timer.start
entity_id: timer.timer_familyroom
# Family Room:
# Timer Elapsed - Turn OFF lights
###############################################################################
- alias: Family Room Timer Elapsed
initial_state: true
trigger:
- platform: state
entity_id: timer.timer_familyroom
from: "active"
to: "idle"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_off
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
- delay: "00:00:05"
- service: light.turn_off
entity_id: light.hue_color_lamp_1, light.hue_color_lamp_2, light.hue_color_lamp_3
# Master Bedroom:
# Motion Detected - Turn ON the lights and extend timer
###############################################################################
- alias: Master Bedroom Motion & Timer
initial_state: true
trigger:
- platform: state
entity_id: binary_sensor.upstairs_multi_sensor_sensor
from: "off"
to: "on"
condition:
- condition: state
entity_id: sun.sun
state: "below_horizon"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_on
data:
entity_id: light.master_bedroom_1
rgb_color: [224, 175, 102]
brightness: 10
- service: light.turn_on
data:
entity_id: light.master_bedroom_2
rgb_color: [224, 175, 102]
brightness: 10
- service: timer.start
entity_id: timer.timer_masterbedroom
# Master Bedroom:
# Timer Elapsed - Turn OFF lights
###############################################################################
- alias: Master Bedroom Timer Elapsed
initial_state: true
trigger:
- platform: state
entity_id: timer.timer_masterbedroom
from: "active"
to: "idle"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: light.turn_off
entity_id: light.master_bedroom_1
- service: light.turn_off
entity_id: light.master_bedroom_2
# Start the timer when the lights are ON
###############################################################################
- alias: Garage Timer Start When Garage Lights ON
initial_state: true
trigger:
- platform: state
entity_id: switch.garage
from: "off"
to: "on"
condition:
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: timer.start
entity_id: timer.timer_garage
# Garage:
# Timer Elapsed - Turn OFF lights, when "I am not working"
###############################################################################
- alias: Garage Timer Elapsed
initial_state: true
trigger:
- platform: state
entity_id: timer.timer_garage
from: "active"
to: "idle"
condition:
- condition: state
entity_id: input_boolean.working_in_garage
state: "off"
- condition: state
entity_id: input_boolean.light_automations
state: "on"
action:
- service: switch.turn_off
entity_id: switch.garage