311 lines
9.3 KiB
YAML
311 lines
9.3 KiB
YAML
###############################################################################
|
|
# @author : Mahasri Kalavala
|
|
# @date : 04/15/2017
|
|
# @package : WatchDog
|
|
# @description : Watchdog Automations
|
|
###############################################################################
|
|
|
|
###############################################################################
|
|
# _ _ _
|
|
# /\ | | | | (_)
|
|
# / \ _ _| |_ ___ _ __ ___ __ _| |_ _ ___ _ __ ___
|
|
# / /\ \| | | | __/ _ \| '_ ` _ \ / _` | __| |/ _ \| '_ \/ __|
|
|
# / ____ \ |_| | || (_) | | | | | | (_| | |_| | (_) | | | \__ \
|
|
# /_/ \_\__,_|\__\___/|_| |_| |_|\__,_|\__|_|\___/|_| |_|___/
|
|
#
|
|
###############################################################################
|
|
automation:
|
|
# Garage:
|
|
# Working in Garage Mode Watch Dog - Turns off after 2 hours
|
|
###############################################################################
|
|
- alias: Working In Garage WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- input_boolean.working_in_garage
|
|
to: "on"
|
|
for:
|
|
hours: 2
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: script.notify_family
|
|
data:
|
|
message: "It has been two hours, are you still working in the garage?"
|
|
notify_options:
|
|
- telegram
|
|
- tv
|
|
- service: input_boolean.turn_off
|
|
entity_id: input_boolean.working_in_garage
|
|
|
|
# Garage:
|
|
# Keeps and eye on the garage doors... reminds me to close after 5 min
|
|
###############################################################################
|
|
- alias: Two Car garage Door WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- binary_sensor.door_window_sensor_158d0004231f7b
|
|
- binary_sensor.door_window_sensor_158d0004248d5b
|
|
to: "on"
|
|
for:
|
|
minutes: 5
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.working_in_garage
|
|
state: "off"
|
|
- condition: template
|
|
value_template: "{{ states('input_boolean.garage_door_notifications') == 'on' }}"
|
|
# - condition: state
|
|
# entity_id: input_boolean.light_automations
|
|
# state: "on"
|
|
action:
|
|
- service: script.notify_family
|
|
data:
|
|
message: >
|
|
Your {{ trigger.to_state.attributes.friendly_name }} is OPEN for more than 5 minutes!
|
|
notify_options:
|
|
- telegram
|
|
- voice
|
|
- tv
|
|
- led
|
|
|
|
# Outdoor Lights:
|
|
# Keeps and eye on the patio and backyard lights...
|
|
###############################################################################
|
|
- alias: Outdoor Light WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.backyard_light
|
|
- switch.frontyard_light
|
|
to: "on"
|
|
for:
|
|
minutes: 5
|
|
condition:
|
|
- condition: state
|
|
entity_id: sun.sun
|
|
state: "above_horizon"
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: switch.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
- service: script.notify_family
|
|
data:
|
|
message: >
|
|
{{ trigger.to_state.attributes.friendly_name }} is ON during the day time. Saving power by turning it off!
|
|
notify_options:
|
|
- telegram
|
|
- tv
|
|
- led
|
|
|
|
# General Watch Dog automation:
|
|
# Keeps and eye on the lights & switches, turns off after 10 PM if they are on.
|
|
###############################################################################
|
|
- alias: Lights And Switches WatchDog 10 Min
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.basement_left
|
|
- switch.basement_right
|
|
- switch.front_room
|
|
- switch.srinika_bedroom
|
|
- switch.hasika_bed_accent
|
|
- switch.hasika_bedroom
|
|
- switch.kitchen_switch
|
|
- switch.study_room
|
|
- light.hue_color_lamp_1
|
|
- light.hue_color_lamp_2
|
|
- light.hue_color_lamp_3
|
|
- light.master_bedroom_1
|
|
- light.master_bedroom_2
|
|
- light.master_bedroom_3
|
|
to: "on"
|
|
for:
|
|
minutes: 10
|
|
condition:
|
|
- condition: template
|
|
value_template: "{{ now().hour |int > 22 }}"
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Guest Bathroom Lights WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.guest_bathroom_lights
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.guest_bathroom_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Master Bathroom Lights WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- light.master_bathroom_lights
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.master_bathroom_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Garage Lights WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.garage
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.garage_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Garage Shop Lights WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.garage_shop_lights
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.garage_shop_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Guest Bathroom Exhaust WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.guest_bathroom_exhaust
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.guest_bathroom_exhaust_timer_duration')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Master Bathroom Shower Exhaust WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.master_bathroom_shower_exhaust
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.master_bathroom_shower_exhaust_timer_duration')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Master Bathroom Toilet Exhaust WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.master_bathroom_toilet_exhaust
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.master_bathroom_toilet_exhaust_timer_duration')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
#############################################################################
|
|
# CLOSET LIGHTS WATCH DOG
|
|
#############################################################################
|
|
|
|
- alias: Srinika Bedroom Closet WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.srinika_bedroom_closet
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.srinika_bedroom_closet_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|
|
|
|
- alias: Hasika Bedroom Closet WatchDog
|
|
initial_state: true
|
|
trigger:
|
|
- platform: state
|
|
entity_id:
|
|
- switch.hasika_bedroom_closet
|
|
to: "on"
|
|
for:
|
|
minutes: "{{ states('input_number.hasika_bedroom_closet_lights')|int }}"
|
|
condition:
|
|
- condition: state
|
|
entity_id: input_boolean.light_automations
|
|
state: "on"
|
|
action:
|
|
- service: homeassistant.turn_off
|
|
data:
|
|
entity_id: "{{ trigger.entity_id }}"
|