Version 3

This commit is contained in:
Jeffrey Stone
2018-07-18 13:56:30 -04:00
parent 78cc052167
commit 361375cf5c
74 changed files with 2907 additions and 0 deletions

81
automations/daily.yaml Executable file
View File

@@ -0,0 +1,81 @@
#
#
# Daily Triggers
#
#
#####################
- alias: Good Morning
trigger:
- platform: time
hours: 5
minutes: 15
seconds: 0
action:
- service: scene.turn_on
entity_id: scene.livingroom_dim
- service: scene.turn_on
entity_id: scene.dim_kitchen
- alias: Good Morning
trigger:
- platform: time
hours: 7
minutes: 0
seconds: 0
action:
- service: scene.turn_on
entity_id: scene.livingroom_normal
- service: scene.turn_on
entity_id: scene.normal_kitchen
- alias: Good Night
trigger:
- platform: time
hours: 22
minutes: 30
seconds: 0
action:
- service: scene.turn_on
entity_id: scene.livingroom_night
- service: light.turn_off
data:
entity_id: light.loft_lamp
- service: script.turn_on
entity_id: script.driveway_off
- alias: Outside Lights on at Sunset
trigger:
- platform: sun
event: sunset
offset: -00:30:00
action:
- service: switch.turn_on
data:
entity_id: switch.front_porch
- service: script.sunset_garage_open
- alias: Outside Lights off at Sunrise
trigger:
- platform: sun
event: sunrise
action:
- service: switch.turn_off
data:
entity_id: switch.front_porch
- alias: Inside on at Sunset
trigger:
- platform: sun
event: sunset
offset: -01:00:00
action:
service: script.inside_all_on
- alias: Inside off at Sunrise
trigger:
- platform: sun
event: sunrise
offset: 00:30:00
action:
- service: script.inside_all_off

20
automations/door.yaml Executable file
View File

@@ -0,0 +1,20 @@
#
#
# DoorAutomations
#
#
#####################
# - alias: Door Opened
# trigger:
# - platform: state
# entity_id: group.doors
# from: 'off'
# to: 'on'
# condition:
# - condition: state
# entity_id: input_boolean.audible_notifications
# state: 'on'
# action:
# - service: shell_command.door_chime

99
automations/events.yaml Executable file
View File

@@ -0,0 +1,99 @@
#
#
# Events
#
############
#- alias: Trash Morning Notification
# trigger:
# - platform: time
# hours: 6
# minutes: 0
# seconds: 0
# condition:
# - condition: time
# weekday:
# - tue
# - condition: state
# entity_id: input_boolean.vacation_mode
# state: 'off'
# - condition: state
# entity_id: input_boolean.trash_notification
# state: 'on'
# action:
# - service: notify.all_ios
# data:
# message: Don't forget to it is Trash Day
#- alias: Washer Running
# trigger:
# - platform: numeric_state
# entity_id: sensor.washer_power
# above: 100
# action:
# - service: input_boolean.turn_on
# entity_id: input_boolean.washer_running
#- alias: Washer Complete
# trigger:
# - platform: state
# entity_id: sensor.washer_status
# from: 'running'
# to: 'idle'
# condition:
# - condition: state
# entity_id: input_boolean.washer_running
# state: 'on'
# action:
# - service: input_boolean.turn_off
# entity_id: input_boolean.washer_running
# - service: input_boolean.turn_on
# entity_id: input_boolean.washer_notification
#- alias: Washer Emptied
# trigger:
# - platform: state
# entity_id: binary_sensor.washer_door
# from: 'off'
# to: 'on'
# action:
# - service: homeassistant.turn_off
# entity_id: script.washer_finished_notification
# - service: input_boolean.turn_off
# entity_id: input_boolean.washer_notification
#- alias: Washer Notification
# trigger:
# - platform: state
# entity_id: input_boolean.washer_notification
# to: 'on'
# condition:
# - condition: state
# entity_id: sensor.family_status
# state: home
# action:
# - service: homeassistant.turn_on
# entity_id: script.washer_finished_notification
#- alias: Get Dressed Skylar
# trigger:
# - platform: time
# hours: 7
# minutes: 58
# seconds: 0
# condition:
# - condition: time
# weekday:
# - mon
# - tue
# - wed
# - thu
# - condition: state
# entity_id: input_boolean.guest_mode
# state: 'off'
# - condition: state
# entity_id: input_boolean.skylar_dressed_alarm
# state: 'on'
# action:
# - service: script.skylar_dressed_alarm

72
automations/garage.yaml Executable file
View File

@@ -0,0 +1,72 @@
#
#
# Garage
#
############
- alias: Close Garage at lights out
trigger:
- platform: time
hours: 22
minutes: 30
seconds: 0
condition:
- condition: state
entity_id: binary_sensor.garage_door
state: 'on'
action:
- service: script.close_garage
- alias: Garage Open At Sunset
trigger:
- platform: sun
event: sunset
condition:
- condition: state
entity_id: binary_sensor.garage_door
state: 'on'
action:
- service: script.driveway_on
- alias: Garage Opening Driveway Lights On
trigger:
- platform: state
entity_id: binary_sensor.garage_door
from: 'off'
to: 'on'
condition:
- condition: state
entity_id: sun.sun
state: 'below_horizon'
action:
- service: script.driveway_on
- alias: Garage Closing Driveway Lights Off
trigger:
- platform: state
entity_id: binary_sensor.garage_door
from: 'on'
to: 'off'
- platform: state
entity_id: binary_sensor.side_door
from: 'on'
to: 'off'
action:
- service: script.turn_on
entity_id: script.driveway_off
# - alias: Garage Motion after Sunset
# trigger:
# - platform: state
# entity_id: binary_sensor.garage_motion
# from: 'off'
# to: 'on'
# condition:
# - condition: state
# entity_id: sun.sun
# state: 'below_horizon'
# action:
# - service: notify.jeff_ios
# data:
# message: 'Motion: Garage'

110
automations/presence.yaml Executable file
View File

@@ -0,0 +1,110 @@
#
#
# Presence Automations
#
#
#####################
- alias: Family Has arrived
trigger:
- entity_id: sensor.family_presence
from: Away
platform: state
to: Home
action:
- service: script.standby
- service: script.driveway_on
- service: script.vacation_canceled
- service: script.appliances_on
- service: script.family_is_home
- alias: Family Has Left
trigger:
- entity_id: sensor.family_presence
from: Home
platform: state
to: Away
condition:
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: script.lockdown
- service: script.appliances_off
- service: script.family_is_away
- alias: Jeff Arrives Home
trigger:
- entity_id: sensor.jeff_presence
from: 'not present'
platform: state
to: 'present'
action:
- service: script.jeff_destination_na
- service: script.driveway_on
- service: input_boolean.turn_off
entity_id: input_boolean.jeff_heading_home
- alias: Jeff Arrives At Summit
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: enter
platform: zone
zone: zone.summit
action:
- service: script.jeff_destination_na
#- service: script.jeff_at_work_notification
- alias: Jeff Leaves Summit
trigger:
- entity_id: device_tracker.jeffreystonesiphone
event: leave
platform: zone
zone: zone.summit
action:
- service: input_boolean.turn_off
entity_id: input_boolean.jeff_traffic_alert_home
- alias: Kat Arrives Home
trigger:
- entity_id: sensor.kat_presence
from: 'not present'
platform: state
to: 'present'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.kat_heading_home
- service: script.driveway_on
- alias: Kat Arrives at Zoo
trigger:
- platform: zone
event: enter
zone: zone.zoo_atlanta
entity_id: device_tracker.katherinestonesiphone
condition:
- condition: state
entity_id: input_boolean.text_notify_jeff
state: 'on'
action:
- service: notify.ios_jeffreystonesiphone
data:
message: Kat is at Zoo Atlanta
- alias: Kat Leaves Zoo Notification
trigger:
- platform: zone
event: leave
zone: zone.zoo_atlanta
entity_id: device_tracker.katherinestonesiphone
condition:
- condition: state
entity_id: input_boolean.text_notify_jeff
state: 'on'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.kat_heading_home

284
automations/security.yaml Executable file
View File

@@ -0,0 +1,284 @@
#
#
# Security
#
# For all these automations the condition should be
#
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
#
#
#####################
- alias: Nightly Lockdown
trigger:
- platform: time
hours: 23
minutes: 00
seconds: 0
condition:
- condition: state
entity_id: sensor.jeff_presence
state: 'present'
- condition: state
entity_id: sensor.kat_presence
state: 'present'
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
action:
- service: script.lockdown
- alias: Morning Standby
trigger:
- platform: time
hours: 5
minutes: 30
seconds: 0
condition:
condition: or
conditions:
- condition: state
entity_id: sensor.family_presence
state: 'Home'
- condition: state
entity_id: input_boolean.guest_mode
state: 'on'
action:
- service: script.standby
- alias: Activate Security
trigger:
- platform: state
entity_id: input_boolean.secure_mode
from: 'off'
to: 'on'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.security_check
- alias: Deactivate Security
trigger:
- platform: state
entity_id: input_boolean.secure_mode
from: 'on'
to: 'off'
action:
- service: script.standby
- alias: Security Precheck
trigger:
- platform: state
entity_id: input_boolean.security_check
from: 'off'
to: 'on'
action:
- service: script.security_check_zones
- service: script.security_check_garage
- service: script.security_check_verified
- service: script.lockdown_aborted
- alias: Security Breach
trigger:
- platform: state
entity_id: group.all_doors
to: 'On'
- platform: state
entity_id: binary_sensor.garage_dome_sensor
to: 'On'
condition:
- condition: state
entity_id: input_boolean.secure_mode
state: 'on'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.security_breach_warning
- alias: Security Alarm Countdown
trigger:
- platform: state
entity_id: input_boolean.security_breach_warning
from: 'off'
to: 'on'
action:
- service: script.turn_on
entity_id: script.security_issue
- alias: Security Issue Canceled
trigger:
- platform: state
entity_id: input_boolean.security_breach_warning
from: 'on'
to: 'off'
action:
- service: script.turn_off
entity_id: script.security_issue
- alias: Security Alarm Canceled
trigger:
- platform: state
entity_id: input_boolean.security_alarm
from: 'on'
to: 'off'
action:
- service: script.turn_off
entity_id: script.security_issue
- service: script.security_alarm_off
- service: script.turn_off
entity_id: script.security_alarm_delay
# - alias: Security Breach Garage Door
# trigger:
# - platform: state
# entity_id: sensor.garage_door_contact
# to: open
# condition:
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
# action:
# - service: script.security_warning_garage_door
# - alias: Security Breach Garage Motion
# trigger:
# - platform: state
# entity_id: sensor.garage_motion
# to: motion
# condition:
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
# action:
# - service: script.security_warning_garage_motion
# - alias: Security Breach Front Door
# trigger:
# - platform: state
# entity_id: sensor.front_door
# to: open
# condition:
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
# action:
# - service: script.security_warning_front_door
# - alias: Security Breach Back Door
# trigger:
# - platform: state
# entity_id: sensor.zone_3
# to: open
# condition:
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
# action:
# - service: script.security_warning_back_door
# - alias: Security Breach Landry Door
# trigger:
# - platform: state
# entity_id: sensor.Laundry_room_door
# to: open
# condition:
# - condition: state
# entity_id: input_boolean.secure_mode
# state: 'on'
# action:
# - service: script.security_warning_laundry_door
- alias: Security Access Granted
trigger:
- platform: state
entity_id: sensor.jeff_presence
to: 'present'
- platform: state
entity_id: sensor.kat_presence
to: 'present'
- platform: state
entity_id: sensor.family_presence
to: 'Home'
condition:
- condition: state
entity_id: input_boolean.secure_mode
state: 'on'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.security_alarm
- service: input_boolean.turn_off
entity_id: input_boolean.security_breach_warning
- service: script.turn_off
entity_id: script.security_alarm_delay
# - alias: Security Alarm Activated Home
# trigger:
# platform: state
# entity_id: input_boolean.security_alarm
# to: 'on'
# condition:
# - condition: state
# entity_id: sensor.family_presence
# state: 'Home'
# action:
# - service: script.security_alarm_on
- alias: Security Alarm Activated Away
trigger:
platform: state
entity_id: input_boolean.security_alarm
to: 'on'
condition:
- condition: state
entity_id: sensor.family_presence
state: 'Away'
action:
- service: script.turn_on
entity_id: script.security_alarm_delay
# - alias: Security Issue
# trigger:
# platform: state
# entity_id: input_boolean.security_issue
# to: 'on'
# action:
# - service: homeassistant.turn_on
# entity_id: script.security_report
# - alias: Security Issue Resolved
# trigger:
# - platform: state
# entity_id: group.all_doors
# to: 'off'
# condition:
# - condition: state
# entity_id: cover.garage_door
# state: 'off'
# - condition: state
# entity_id: group.doors
# state: 'off'
# action:
# - service: input_boolean.turn_off
# entity_id: input_boolean.security_issue
- alias: Late Arrival Lockdown
trigger:
- platform: state
entity_id: sensor.jeff_presence
to: 'present'
- platform: state
entity_id: sensor.kat_presence
to: 'present'
condition:
- condition: state
entity_id: input_boolean.guest_mode
state: 'off'
- condition: time
after: '23:00:00'
before: '05:00:00'
action:
- service: script.lockdown_delay

67
automations/transit.yaml Executable file
View File

@@ -0,0 +1,67 @@
#
#
# Transit Based Automations
#
############
# - alias: Jeff eta home
# trigger:
# - platform: state
# entity_id: sensor.jeff_destination
# to: Home
# condition:
# - condition: state
# entity_id: input_boolean.text_notify_kat
# state: 'on'
# action:
# - service: input_boolean.turn_on
# entity_id: input_boolean.jeff_heading_home
##### Jeff Traffic Alerts
- alias: Enable Jeff Bad Traffic Home
trigger:
- platform: numeric_state
entity_id: sensor.jeff_ett_home
above: 59
condition:
- condition: state
entity_id: sensor.jeff_location
state: 'Summit'
- condition: state
entity_id: input_boolean.jeff_traffic_alerts
state: 'on'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.jeff_traffic_alert_home
- alias: Disabling Jeff Bad Traffic Home
trigger:
- platform: numeric_state
entity_id: sensor.jeff_ett_home
below: 40
condition:
- condition: state
entity_id: input_boolean.jeff_traffic_alert_home
state: 'on'
action:
- service: input_boolean.turn_off
entity_id: input_boolean.jeff_traffic_alert_home
- alias: Enable Vacation Mode
trigger:
- platform: numeric_state
entity_id: sensor.jeff_ett_home
above: 180
- platform: numeric_state
entity_id: sensor.kat_ett_home
above: 180
condition:
- condition: numeric_state
entity_id: sensor.jeff_ett_home
above: 180
- condition: numeric_state
entity_id: sensor.kat_ett_home
above: 180
action:
- service: input_boolean.turn_on
entity_id: input_boolean.vacation_mode

125
automations/weather.yaml Executable file
View File

@@ -0,0 +1,125 @@
#
#
# Weather
#
############
- alias: Cloudy porch on early
trigger:
- platform: sun
event: sunset
offset: -01:30:00
condition:
- condition: numeric_state
entity_id: sensor.dark_sky_cloud_coverage
above: 70
action:
- service: switch.turn_on
data:
entity_id: switch.front_porch_left
- service: switch.turn_on
data:
entity_id: switch.front_porch_right
- alias: Kill Audible Tornado Alarm
trigger:
- platform: state
entity_id: input_boolean.tornado_alarm
to: 'off'
action:
- service: script.chromecast_media_stop
- service: homeassistant.turn_off
entity_id: script.tornado_alarm
- alias: Sound Audible Tornado Alarm
trigger:
- platform: state
entity_id: input_boolean.tornado_alarm
to: "on"
action:
- service: homeassistant.turn_on
entity_id: script.tornado_alarm
- alias: Tornado Warning
trigger:
- platform: state
entity_id: sensor.tornado_warning
to: "active"
action:
- service: input_boolean.turn_on
entity_id: input_boolean.tornado_alarm
- service: script.wxalert_tile
- service: notify.ios_all
data:
message: Tornado Warning Issued for Anchorage House!!!!
- alias: Tornado Watch Issued
trigger:
- platform: state
entity_id: sensor.tornado_watch
to: "active"
action:
- service: script.wxalert_tile
- service: notify.ios_all
data:
message: Tornado Watch Issued
- service: script.annc_tornado_watch
- alias: TStorm Warning Issued
trigger:
- platform: state
entity_id: sensor.tstorm_warning
to: "active"
action:
- service: script.wxalert_tile
- service: notify.ios_all
data:
message: Severe Thunderstorm Warning Issued
- service: script.annc_tstorm_warning
- alias: Severe Statement Issued
trigger:
- platform: state
entity_id: sensor.storm_statement
to: "active"
action:
- service: script.wxalert_tile
- service: notify.ios_all
data:
message: Severe Weather Statement Issued
- service: script.annc_storm_statement
- alias: TStorm Watch Issued
trigger:
- platform: state
entity_id: sensor.tstorm_watch
to: "active"
action:
- service: script.wxalert_tile
- service: notify.ios_all
data:
message: Severe Thunderstorm Watch Issued
- service: script.annc_tstorm_watch
#- alias: Wx Alert Notification
# trigger:
# - platform: state
# entity_id: sensor.pws_alerts
# action:
# - service: script.wxalert_tile
- alias: "Weather Watch Tornado"
trigger:
- platform: state
entity_id: sensor.pws_alerts
condition:
condition: or
conditions:
- condition: template
value_template: '{{ states.sensor.pws_alerts.attributes.Description == "Tornado Watch" }}'
- condition: template
value_template: '{{ states.sensor.pws_alerts.attributes.Description_TOW == "Tornado Watch" }}'
action:
- service: input_boolean.turn_on
entity_id: input_boolean.tornado_watch
- service: script.wxalert_tile