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

44
README.md Normal file
View File

@ -0,0 +1,44 @@
## Anchorage House - [Home Assistant](https://home-assistant.io/) Configuration
This repo contains the working [Home Assistant](https://home-assistant.io/) configuration for **Anchorage House**. Below are links to the devices currently being used, blog posts, and other HA enthusists that provided inspiration and configs to help build this config. All of the code is free to use.
This is an updated config. I went through and decided to clean up my previous config, so here we are at V3 of my config.
The configuration was migrated from a old PC to a RaspberryPi 3 back in 2017. The old configutation is stored in branch V2-config for anyone that wants to see the old version.
Read about the continuing work to automate **everything** over on my [blog](https://medium.com/@thejeffreystone). But be warned, it really hasn't been updated in a while.
#### Devices:
* Apple Devices (Macbooks, Mac Mini, iPhones, iPads)
* [Honeywell Wifi Thermostat](http://a.co/cqvrljP)
* [Amazon Echo Dot](http://a.co/7VYHqvw)
* [Smartthings](http://a.co/2xWyXF5)
* [GE Z-Wave Switches](http://a.co/3OUpcMf)
* [Aeon Energy Switchs](http://a.co/7aKBkst)
* [First Alert Z-Wave Smoke/CO2](http://a.co/iTuEjU8)
* [GoControl Z-Wave Bulbs](http://a.co/ajfXdIS)
* [Cree Connect Bulbs](http://a.co/91ddysL)
* [Foscam FI8918W](http://a.co/cExSWZ7)
* [GoControl Z-Wave Garage Door Opener](http://a.co/iw3H4zQ)
* [ZWave Door Sensor]( http://a.co/4Uj8d5r)
* [Sonoff WiFi Wireless Smart Switch ]( http://a.co/9v8KnBT)
* [Levitron Plug in ZWave Dimmer](http://a.co/8wOv1Gs)
* [Levitron ZWave Switch](http://a.co/1z9EeS3) I prefer these over the GE Ones
* [Dome Motion Sensor](http://a.co/aFlzEmf)
* [Dome Door Window Sensor](http://a.co/eo4DsIk)
* AppleTv
* ChromeCast
* Roku Streaming Stick
* [NeoTec USB SDR](http://a.co/giwQvX1) For getting data from Accurite temperture and humidty sensors
* [Accurite Temp and Humidty Sensors](http://a.co/hcppyvF)
* [Sonoff Wifi Switches](http://a.co/dh5hCZu)
#### Integrations:
* Amazon Echo
* IFTTT
* Owntracks
* MQTT (For Smartthings and Owntracks)
* Eero For Networked Devices
* [Smartthings-MQTT-Bridge](https://github.com/stjohnjohnson/smartthings-mqtt-bridge)
* [RTL_433](https://github.com/merbanan/rtl_433)

View File

@ -0,0 +1,10 @@
jeff_bad_traffic_home:
name: Leave Now! Currently {{states.sensor.jeff_ett_home.attributes.duration_in_traffic}} mins home!
done_message: Canceling Traffic Alert
entity_id: input_boolean.jeff_traffic_alert_home
state: 'on'
repeat: 10
can_acknowledge: True
skip_first: False
notifiers:
- jeff_ios

10
alerts/kat_heading_home.yanl Executable file
View File

@ -0,0 +1,10 @@
kat_heading_home:
name: Kat will be home in {{states.sensor.kat_ett_home.attributes.duration_in_traffic}}.
done_message: Kat is home
entity_id: input_boolean.kat_heading_home
state: 'on'
repeat: 20
can_acknowledge: True
skip_first: False
notifiers:
- jeff_ios

10
alerts/lockdown_issue.yaml Executable file
View File

@ -0,0 +1,10 @@
lockdown_issue:
name: Issue Prevented Lockdown...Please Check
done_message: Issue Resolved...Anchorage House Ready
entity_id: input_boolean.lockdown_issue
state: 'on'
repeat: 2
can_acknowledge: True
skip_first: False
notifiers:
- jeff_ios

10
alerts/unauthorized_access.yaml Executable file
View File

@ -0,0 +1,10 @@
unauthorized_access:
name: Unauthorized Access Detected at Anchorage House
done_message: Access Authorized
entity_id: input_boolean.security_alarm
state: 'on'
repeat: 2
can_acknowledge: True
skip_first: False
notifiers:
- jeff_ios

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

42
binary_sensors/doors.yaml Executable file
View File

@ -0,0 +1,42 @@
- platform: mqtt
name: "Back Door"
state_topic: "smartthings/Back Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: door
- platform: mqtt
name: "Garage Door"
state_topic: "smartthings/Garage Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: garage_door
- platform: mqtt
name: "Front Door"
state_topic: "smartthings/Front Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: door
- platform: mqtt
name: "Laundry Room Door"
state_topic: "smartthings/Laundry Room Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: door
- platform: mqtt
name: "Attic Door" # Dome Door Sensor
state_topic: "smartthings/Attic Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: door
- platform: mqtt
name: "Side Door" # Dome Door Sensor
state_topic: "smartthings/Washer Door/contact"
payload_on: "open"
payload_off: "closed"
retain: true
device_class: door

7
binary_sensors/motion.yaml Executable file
View File

@ -0,0 +1,7 @@
- platform: mqtt
name: "Garage Dome Sensor" # Dome Motion Sensor
state_topic: "smartthings/Garage Motion/contact"
payload_on: "active"
payload_off: "inactive"
retain: true
device_class: motion

221
configuration.yaml Executable file
View File

@ -0,0 +1,221 @@
homeassistant:
name: Home
latitude: !secret MY_LATITUDE
longitude: !secret MY_LONGITUDE
elevation: 315
unit_system: imperial
time_zone: America/New_York
customize: !include customize.yaml
frontend:
themes:
blue:
primary-color: "#356AA0"
http:
api_password: !secret MY_API_PASS
#ssl_certificate: !secret SSL_CERT
#ssl_key: !secret SSL_KEY
#base_url: !secret BASEURL
cors_allowed_origins:
- https://google.com
- https://home-assistant.io
use_x_forwarded_for: True
trusted_networks:
- 127.0.0.1
ip_ban_enabled: True
login_attempts_threshold: 5
config:
cloud:
alexa:
filter:
include_entities:
- sensor.accurite_back_porch_temperature
- sensor.accurite_garage_temperature
- sensor.kat_location
- sensor.jeff_location
- sensor.jeff_ett_home
- sensor.kat_ett_home
include_domains:
- switch
- light
- cover
- scene
- script
- input_boolean
exclude_domains:
- group
- alert
- automation
entity_config:
sensor.accurite_back_porch_temperature:
name: Back Porch
description: Back Porch Temperature
sensor.accurite_garage_temperature:
name: Garage
description: Garage Temperature
sensor.kat_location:
name: Kats Location
description: Kats Location
sensor.jeff_location:
name: Jeffs Location
description: Jeffs Location
sensor.jeff_ett_home:
name: Jeffs Arrival
description: Jeffs arrival in minutes
sensor.kat_ett_home:
name: Kats Arrival
description: Katss arrival in minutes
alexa:
conversation:
device_tracker:
- platform: icloud
username: !secret ICLOUD_USER
password: !secret ICLOUD_PASS
track_new_devices: yes
- platform: eero_tracker
consider_home: 300
interval_seconds: 60 # Recommended...do not set this lower than 25, we don't want to DDOS Eero
discovery:
updater:
sun:
recorder:
purge_keep_days: 5
exclude:
domains:
- automation
- weblink
- updater
entities:
- sun.sun
- sensor.last_boot
- sensor.date
logger:
default: warn
history:
cast:
media_player:
- platform: apple_tv
host: 192.168.7.58
login_id: !secret apple_tv_login
credentials: !secret apple_cred
- platform: roku
host: 192.168.7.52
name: roku living room
- platform: yamaha
host: 192.168.7.56
source_ignore:
- "AUX"
- "V-AUX"
- "AV1"
- "AV2"
- "AV3"
- "AV4"
- "AV5"
- "AV6"
- "SiriusXM"
- "Pandora"
- "Rhapsody"
- "TURNER"
- "AUDIO1"
- "AUDIO2"
- "SERVER"
source_names:
HDMI1: "BluRay"
HDMI2: "Chromecast"
HDMI3: "Xbox"
HDMI4: "Roku"
HDMI5: "AppleTv"
zone_ignore:
- "Zone_2"
zone_names:
Main_Zone: "Theater"
tts:
- platform: google
cache: true
cache_dir: /tmp/tts
time_memory: 300
notify:
- platform: ios
- name: all_ios
platform: group
services:
- service: ios_jeffreystonesiphone
- service: ios_jeffreystonesipad
- service: ios_katherinestonesiphone
- name: jeff_ios
platform: group
services:
- service: ios_jeffreystonesiphone
- service: ios_jeffreystonesipad
mqtt:
broker: !secret MQTT_HOST
port: 1883
username: !secret MQTT_USER
password: !secret MQTT_PASS
### Includes ###
alert: !include_dir_merge_named alerts/
group: !include groups.yaml
automation: !include_dir_merge_list automations/
sensor: !include_dir_merge_list sensors
binary_sensor: !include_dir_merge_list binary_sensors
light: !include_dir_merge_list lights
switch: !include_dir_merge_list switches
script: !include_dir_merge_named scripts/
intent_script: !include intents/intents.yaml
scene: !include scenes.yaml
input_select: !include input_select.yaml
input_boolean: !include input_boolean.yaml
zone: !include zones.yaml
### Devices and Services
cover:
- platform: mqtt
name: "Garage Door"
state_topic: 'smartthings/Garage Door/contact'
command_topic: 'smartthings/Garage Door/door'
state_open: 'open'
state_closed: 'closed'
payload_open: 'open'
payload_close: 'closed'
retain: true
optimistic: true
climate:
platform: honeywell
username: !secret HONEYWELL_USER
password: !secret HONEYWELL_PASS
name: First Floor
region: us
scan_interval: 600
map:
### Custom Commands
shell_command:
alarm_off: pkill mpg123
tornado_alarm: mpg123 /media/audio/Tornado_Siren.mp3
door_chime: mpg123 /media/audio/Store_Door_Chime.mp3
security_alarm: mpg123 /media/audio/security_siren.mp3
security_alarm_intro: mpg123 /media/audio/Siren_Noise.mp3

301
customize.yaml Executable file
View File

@ -0,0 +1,301 @@
### CUSTOMIZE ###
# Speedtest #
sensor.speedtest_ping:
icon: mdi:speedometer
friendly_name: Ping
sensor.speedtest_download:
icon: mdi:download
friendly_name: Download
sensor.speedtest_upload:
icon: mdi:upload
friendly_name: Upload
# Weather #
sensor.dark_sky_summary:
icon: mdi:leaf
friendly_name: Conditions
sensor.dark_sky_temperature:
icon: mdi:thermometer-lines
friendly_name: 'Outdoor Temperature'
sensor.dark_sky_apparent_temperature:
icon: mdi:thermometer-lines
friendly_name: 'Apparent Temperature'
sensor.dark_sky_precip:
icon: mdi:weather-pouring
friendly_name: Precipitation
sensor.dark_sky_precip_probability:
icon: mdi:weather-pouring
friendly_name: Precipitation Chance
sensor.dark_sky_precip_intensity:
icon: mdi:weather-pouring
friendly_name: Precip Intensity
sensor.dark_sky_humidity:
icon: mdi:water-percent
friendly_name: 'Outdoor Humidity'
sensor.dark_sky_cloud_coverage:
icon: mdi:weather-cloudy
friendly_name: Cloud Coverage
sensor.dark_sky_nearest_storm_distance:
icon: mdi:weather-lightning
friendly_name: Nearest Storm Distance
sensor.dark_sky_nearest_storm_bearing:
icon: mdi:compass-outline
friendly_name: Nearest Storm Bearing
sensor.dark_sky_wind_speed:
icon: mdi:weather-windy
friendly_name: Wind Speed
sensor.pws_wind_mph:
icon: mdi:weather-windy
friendly_name: Wind Speed
sensor.pws_wind_gust_mph:
icon: mdi:weather-windy
friendly_name: Wind Gusts
sensor.pws_precip_today_in:
icon: mdi:gauge
friendly_name: Rain Gauge
sensor.dark_sky_wind_bearing:
icon: mdi:compass-outline
friendly_name: Wind Direction
sensor.pws_wind_dir:
icon: mdi:compass-outline
friendly_name: Wind Direction
sensor.dark_sky_ozone:
icon: mdi:cloud
sensor.dark_sky_pressure:
icon: mdi:weight
friendly_name: Pressure
sensor.dark_sky_dew_point:
icon: mdi:thermometer
friendly_name: Dew Point
sensor.dark_sky_visability:
icon: mdi:eye-outline
friendly_name: Visability
sensor.dark_sky_daily_low_temperature:
friendly_name: Todays Low
icon: thermometer-lines
sensor.dark_sky_daily_high_temperature:
friendly_name: Todays High
icon: thermometer-lines
sensor.dark_sky_daily_max_precip_intensity:
friendly_name: Rain Intensity
icon: gauge
sensor.pws_alerts:
friendly_name: "Weather Alerts"
icon: mdi:alert
# Jeff #
sensor.jeffrey_location:
entity_picture: !secret JEFF_ICON
friendly_name: Jeff
sensor.jeff_location:
entity_picture: !secret JEFF_ICON
sensor.jeff_destination:
icon: mdi:google-maps
name: "Jeffs Destination"
device_tracker.jeffreystonesiphone:
entity_picture: !secret JEFF_ICON
friendly_name: Jeff
sensor.jeff_iphone_batt:
friendly_name: "Jeff's iPhone Battery"
sensor.jeff_ett_home:
friendly_name: "Jeff's ETA Home"
icon: mdi:car
device_tracker.jeffreystonesipad:
icon: mdi:tablet-ipad
friendly_name: "Jeff's iPad"
device_tracker.jeffreysmbp:
icon: mdi:laptop-mac
friendly_name: "Jeff's MacBook"
device_tracker.jstonemac:
icon: mdi:laptop-mac
friendly_name: "Jeff's Work Mac"
device_tracker.jeffreysapple_watch:
friendly_name: "Jeff's Watch"
icon: mdi:watch
# Kat ##
device_tracker.katherinestonesiphone:
entity_picture: !secret KAT_ICON
friendly_name: Kat
sensor.kat_location:
entity_picture: !secret KAT_ICON
sensor.kat_iphone_batt:
friendly_name: "Kat's iPhone Battery"
device_tracker.katherinesipad:
icon: mdi:tablet-ipad
friendly_name: "Kat's Ipad"
device_tracker.katherinesmini:
icon: mdi:desktop-mac
friendly_name: "Kat's Mini"
sensor.kat_ett_home:
friendly_name: "Kat's ETA Home"
icon: mdi:car
sensor.kat_destination:
icon: mdi:google-maps
name: "Jeffs Destination"
# Device ##
device_tracker.gateway2f3bca:
icon: mdi:nest-thermostat
friendly_name: Honeywell
sensor.appletv:
icon: mdi:apple
sensor.roku:
icon: mdi:television
sensor.xboxone:
icon: mdi:xbox
sensor.chromecast:
icon: mdi:cast
sensor.samsungtv:
icon: mdi:television
sensor.amazon_dot_lr:
icon: mdi:amazon
sensor.amazon_dot_kn:
icon: mdi:amazon
sensor.honeywell:
icon: mdi:thermostat
sensor.smartthings:
icon: mdi:router-wireless
sensor.eero_loft:
icon: mdi:router-wireless
sensor.eero_livingroom:
icon: mdi:router-wireless
media_player.roku_5s6719003683:
friendly_name: Roku Living Room
icon: mdi:youtube-tv
device_tracker.00a0dea3ed2f:
friendly_name: Yamaha AV
icon: mdi:surround-sound
# Switches and Lights ##
switch.fireplace_lights:
icon: mdi:spotlight-beam
switch.tower_lamp:
icon: mdi:lightbulb
switch.driveway_light:
icon: mdi:lightbulb
switch.side_door:
icon: mdi:lightbulb
switch.front_porch:
icon: mdi:lightbulb
switch.front_lamp:
icon: mdi:lightbulb
switch.loft_lamp:
icon: mdi:lightbulb
cover.garage_door:
device_class: garage
friendly_name: Garage Door
homebridge_cover_type: garage_door
switch.loft_fan:
friendly_name: "Loft Box Fan"
icon: mdi:fan
switch.house_secured:
name: House Secured
icon: mdi:lock
switch.vacation_mode:
name: Vacation Mode
icon: mdi:airplane-takeoff
switch.guest_mode:
name: Guest Mode
icon: mdi:account-multiple
switch.notifications_to_kat:
name: Notify Katherine
icon: mdi:telegram
switch.notifications_to_jeff:
name: Notify Jeff
icon: mdi:telegram
switch.automations:
name: automations
icon: mdi:home-automation
switch.kitchen_cabinets:
icon: mdi:lightbulb
switch.kitchen_light_strip:
icon: mdi:lightbulb
switch.garage_alarm:
name: Garage Door Alarm
icon: mdi:alert
input_select.trash_pickup:
name: Trash Pickup
icon: mdi:delete-variant
input_select.recycle_pickup:
name: Recycle Pickup
icon: mdi:delete-variant
switch.trash_notification:
name: Trash Notifications
icon: mdi:telegram
switch.master_bedroom_fan:
icon: mdi:fan
# Travel Times ##
sensor.home_to_summit:
friendly_name: "Home to Summit"
icon: mdi:car
sensor.home_to_zoo:
friendly_name: "Home to Zoo Atlanta"
icon: mdi:car
# Various Sensors ##
sensor.kitchen_fire:
name: Kitchen Smoke Detector
icon: mdi:tower-fire
sensor.smoke_kitchen:
icon: mdi:fire
sensor.family_status:
icon: mdi:home
name: Family Status
sensor.ha_uptime:
friendly_name: HA Uptime
icon: mdi:clock-start
sensor.installed_version:
friendly_name: Installed
icon: mdi:folder-download
sensor.lets_encrypt_expiration:
friendly_name: Lets Encrypt Expiration
icon: mdi:timelapse
sensor.current_ha_version:
friendly_name: Latest Release
icon: mdi:github-circle
sensor.connected_clients:
friendly_name: Connections
icon: mdi:lan-connect
zwave.aeotec_zw090_zstick_gen5_us:
friendly_name: Zwave USB Hub
sensor.ha_v2db:
friendly_name: HA Database
icon: mdi:file
sensor.ha_log:
friendly_name: HA Log
icon: mdi:file
sensor.accurite_back_porch_temperature:
friendly_name: Back Porch Temp
icon: mdi:thermometer
unit_of_measurement: '°F'
sensor.accurite_back_porch_humidity:
friendly_name: Back Porch Humidity
icon: mdi:water-percent
unit_of_measurement: '%'
sensor.accurite_garage_temperature:
friendly_name: Garage Temp
icon: mdi:thermometer
unit_of_measurement: '°F'
sensor.accurite_garage_humidity:
friendly_name: Garage Humidity
icon: mdi:water-percent
unit_of_measurement: '%'
binary_sensor.garage_dome_sensor:
friendly_name: Garage Motion
sensor.washer_power:
friendly_name: Washer Power
icon: mdi:power-plug
unit_of_measurement: 'w'
sensor.washer:
icon: mdi:power-plug

340
groups.yaml Executable file
View File

@ -0,0 +1,340 @@
### Views ###
default_view:
name: Home
view: yes
icon: mdi:home
entities:
- persistent_notification.wxalert
- group.house
- group.house_conditions
- group.garage
- group.appliancest
security:
name: Security
view: yes
icon: mdi:security
entities:
- group.security_system
- group.security_alerts
- group.security_alarms
- group.all_doors
- group.motion_sensors
- group.fire
lights:
name: Lights
view: yes
icon: mdi:lightbulb
entities:
- group.living_room
- group.master_bedroom
- group.loft
- group.driveway
- group.front_porch
- group.kitchen
- group.scenes
people:
name: People
view: yes
icon: mdi:human-male-female
entities:
- group.jeffrey
- group.katherine
- group.travel_times
media:
name: media
view: yes
icon: mdi:theater
entities:
- group.theater
- media_player.yamaha_receiver_theater
- media_player.apple_tv
- media_player.living_room_tv
- media_player.roku_5s6719003683
- media_player.guest_tv
weather:
name: weather
view: yes
icon: mdi:tree
entities:
- group.weather_summary
- group.weather_alerts
- group.sun_and_moon
- group.weather_forecast
- group.precipitation
- group.wind
homeassistant:
name: HA
view: yes
icon: mdi:home-automation
entities:
- group.ha_system_monitor
- group.ha_version_info
- group.file_size
- group.internet
- group.devices
- group.home_automation
chores:
name: Chores
view: yes
icon: mdi:calendar
entities:
- group.trash_schedule
settings:
name: Settings
view: yes
icon: mdi:settings
entities:
- group.house_notifications
- group.presence_notifications
- group.event_notifications
- group.skylar_alarms
#################################################################################
### Grops ###
Security Status:
- sensor.garage_door
- binary_sensor.back_door
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.attic_door
- binary_sensor.garage_dome_sensor
- binary_sensor.garage_door
- sensor.smoke_kitchen
- sensor.attic_door
Security Alerts:
control: hidden
entities:
- input_boolean.security_check
- input_boolean.lockdown_issue
- input_boolean.security_issue
- input_boolean.security_breach_warning
- input_boolean.garage_issue
Security Alarms:
control: hidden
entities:
- input_boolean.security_alarm
- input_boolean.tornado_alarm
Security System:
control: hidden
entities:
- sensor.security_status
- input_boolean.secure_mode
- input_boolean.vacation_mode
House:
control: hidden
entities:
- sensor.family_presence
- sensor.security_status
- input_boolean.audible_notifications
- input_boolean.guest_mode
Motion Sensors:
- binary_sensor.garage_dome_sensor
All Doors:
control: hidden
name: Doors
entities:
- binary_sensor.back_door
- binary_sensor.front_door
- binary_sensor.laundry_room_door
- binary_sensor.attic_door
- binary_sensor.garage_door
Family:
- sensor.jeff_presence
- sensor.kat_presence
Jeffrey:
control: hidden
entities:
- sensor.jeff_location
- sensor.jeff_destination
- sensor.jeff_iphone_batt
- device_tracker.jeffreysapple_watch
- device_tracker.jstonemac
- device_tracker.jeffreystonesipad
- sensor.jeff_ett_home
- input_boolean.jeff_heading_home
- input_boolean.text_notify_jeff
- input_boolean.jeff_traffic_alerts
Katherine:
control: hidden
entities:
- sensor.kat_location
- sensor.kat_destination
- sensor.kat_iphone_batt
- device_tracker.katherinesmini
- device_tracker.katherinesipad
- sensor.kat_ett_home
- input_boolean.kat_heading_home
- input_boolean.text_notify_kat
Travel Times:
control: hidden
entities:
- sensor.home_to_summit
- sensor.home_to_zoo
Living Room:
- switch.fireplace_lights
- light.tower_lamp
- light.front_lamp
Loft:
- light.loft_lamp
- switch.loft_fan
Master Bedroom:
- switch.master_bedroom_fan
Kitchen:
- light.kitchen_cabinets
- light.kitchen_light_strip
Scenes:
- scene.livingroom_dim
- scene.livingroom_night
- scene.livingroom_normal
- scene.movie_time
- scene.dim_kitchen
- scene.normal_kitchen
Driveway:
- switch.driveway_light
- switch.side_door
Front Porch:
- switch.front_porch
House Conditions:
- climate.first_floor
- sensor.accurite_back_porch_temperature
- sensor.accurite_back_porch_humidity
- sensor.accurite_garage_temperature
- sensor.accurite_garage_humidity
Weather Summary:
- sensor.dark_sky_summary
- sensor.dark_sky_apparent_temperature
- sensor.dark_sky_humidity
- sensor.dark_sky_dew_point
Sun and Moon:
- sun.sun
- sun.next_rising
- sun.next_setting
- sensor.moon
Weather Forecast:
- sensor.dark_sky_minutely_summary
- sensor.dark_sky_hourly_summary
- sensor.dark_sky_daily_summary
Precipitation:
- sensor.dark_sky_nearest_storm_distance
- sensor.dark_sky_precip
- sensor.dark_sky_precip_probability
- sensor.pws_precip_today_in
- sensor.dark_sky_visibility
- sensor.dark_sky_pressure
Wind:
- sensor.pws_wind_mph
- sensor.pws_wind_gust_mph
- sensor.pws_wind_dir
Internet:
- sensor.speedtest_ping
- sensor.speedtest_download
- sensor.speedtest_upload
Home Automation:
- sensor.smartthings
- sensor.amazon_dot_lr
- sensor.amazon_dot_kn
- sensor.honeywell
- sensor.eero_loft
- sensor.eero_livingroom
#Cameras:
# - device_tracker.ipcam_00626e46eb09_1
Theater:
- sensor.samsungtv
- sensor.xboxone
- device_tracker.00a0dea3ed2
Garage:
- cover.garage_door
- binary_sensor.garage_dome_sensor
Fire:
- sensor.smoke_kitchen
HA System Monitor:
- sensor.cpu
- sensor.disk_use_percent_
- sensor.memory_use_percent
- sensor.network_in_eth0
- sensor.network_out_eth0
- sensor.last_boot
- sensor.ha_uptime
- sensor.lets_encrypt_expiration
HA Version Info:
- sensor.installed_version
- sensor.current_ha_version
File Size:
control: hidden
entities:
- sensor.ha_v2db
- sensor.ha_log
#Zwave:
# - zwave.aeotec_zw090_zstick_gen5_us
Weather Alerts:
control: hidden
entities:
- sensor.pws_alerts
- sensor.storm_statement
- sensor.tstorm_watch
- sensor.tstorm_warning
- sensor.tornado_watch
- sensor.tornado_warning
Trash Schedule:
- input_select.trash_pickup
- input_select.recycle_pickup
- input_boolean.trash_notification
House Notifications:
- input_boolean.audible_notifications
- input_boolean.garage_notifications
Skylar Alarms:
- input_boolean.skylar_dressed_alarm
Presence Notifications:
- input_boolean.text_notify_jeff
- input_boolean.text_notify_kat
Event Notifications:
- input_boolean.trash_notification
- input_boolean.washer_notification

99
input_boolean.yaml Executable file
View File

@ -0,0 +1,99 @@
secure_mode:
name: Secure Mode
icon: mdi:security
vacation_mode:
name: Vacation Mode
icon: mdi:airplane-takeoff
guest_mode:
name: Guest Mode
icon: mdi:account-multiple
automations:
name: Automations
icon: mdi:home-automation
trash_notification:
name: Trash Notification
icon: mdi:telegram
notifications_kat:
name: Notifications to Kat
icon: mdi:telegram
notifications_jeff:
name: Notifications to Jeff
icon: mdi:telegram
welcome_greeting:
name: Welcome Greeting
icon: mdi:speaker-wireless
lockdown_notification:
name: Lockdown Notifications
icon: mdi:speaker-wireless
garage_notifications:
name: Garage Notifications
icon: mdi:speaker-wireless
tornado_alarm:
name: Tornado Alarm
icon: mdi:speaker-wireless
tstorm_alarm:
name: T-Storm Alarm
icon: mdi:speaker-wireless
security_alarm:
name: Security Alarm
icon: mdi:speaker-wireless
fire_alarm:
name: Fire Alarm
icon: mdi:speaker-wireless
text_notify_jeff:
name: Send Jeff Texts
icon: mdi:telegram
text_notify_kat:
name: Send Kat Texts
icon: mdi:telegram
audible_notifications:
name: Audible Notifications
icon: mdi:speaker-wireless
presence_notifications_jeff:
name: Send Jeff Presence Texts
icon: mdi:telegram
presence_notifications_kat:
name: Send Kat Presence Texts
icon: mdi:telegram
garage_issue:
name: Garage Issue
icon: mdi:alert
security_issue:
name: Security Issue
icon: mdi:comment-alert
kat_heading_home:
name: Kat Heading Home
icon: mdi:car
jeff_heading_home:
name: Jeff Heading Home
icon: mdi:car
washer_notification:
name: Washer Notification
icon: mdi:speaker-wireless
washer_running:
name: Washer Running
icon: mdi:speaker-wireless
skylar_dressed_alarm:
name: Skylar Dressed Alarm
icon: mdi:speaker-wireless
jeff_traffic_alerts:
name: Jeff Traffic Alerts
icon: mdi:bell-plus
jeff_traffic_alert_home:
name: Jeff Traffic Alert Home
icon: mdi:traffic-light
tornado_watch:
name: Tornado Watch
icon: mdi:message-alert
security_check:
name: Security Check
icon: mdi:lock-reset
garage_after_dark:
name: Garage Open After Dark
icon: mdi:message-alert
lockdown_issue:
name: Lockdown Issue
icon: mdi:lock-reset
security_breach_warning:
name: Security Breach Warning
icon: mdi:clock-alert-outline

26
input_select.yaml Executable file
View File

@ -0,0 +1,26 @@
alarm_mode:
name: alarm mode
options:
- home_armed
- away_armed
- disarmed
trash_pickup:
name: Trash Pickup
options:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
initial: Tuesday
icon: mdi:delete-variant
recycle_pickup:
name: Recycle Pickup
options:
- Monday
- Tuesday
- Wednesday
- Thursday
- Friday
initial: Tuesday
icon: mdi:delete-variant

19
lights/kitchen.yaml Executable file
View File

@ -0,0 +1,19 @@
- platform: mqtt
name: "Kitchen Cabinets"
state_topic: "smartthings/Kitchen Cabinets/switch"
command_topic: "smartthings/Kitchen Cabinets/switch"
brightness_state_topic: "smartthings/Kitchen Cabinets/level"
brightness_command_topic: "smartthings/Kitchen Cabinets/level"
brightness_scale: 101
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Kitchen Light Strip"
state_topic: "smartthings/Kitchen Light Strip/switch"
command_topic: "smartthings/Kitchen Light Strip/switch"
brightness_state_topic: "smartthings/Kitchen Light Strip/level"
brightness_command_topic: "smartthings/Kitchen Light Strip/level"
payload_on: "on"
payload_off: "off"
retain: true

20
lights/living_room.yaml Executable file
View File

@ -0,0 +1,20 @@
- platform: mqtt
name: "Tower Lamp"
state_topic: "smartthings/Tower Lamp/switch"
command_topic: "smartthings/Tower Lamp/switch"
brightness_state_topic: "smartthings/Tower Lamp/level"
brightness_command_topic: "smartthings/Tower Lamp/level"
brightness_scale: 101
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Front Lamp"
state_topic: "smartthings/Front Lamp/switch"
command_topic: "smartthings/Front Lamp/switch"
brightness_state_topic: "smartthings/Front Lamp/level"
brightness_command_topic: "smartthings/Front Lamp/level"
brightness_scale: 101
payload_on: "on"
payload_off: "off"
retain: true

10
lights/loft.yaml Executable file
View File

@ -0,0 +1,10 @@
- platform: mqtt
name: "Loft Lamp"
state_topic: "smartthings/Loft Lamp/switch"
command_topic: "smartthings/Loft Lamp/switch"
brightness_state_topic: "smartthings/Loft Lamp/level"
brightness_command_topic: "smartthings/Loft Lamp/level"
brightness_scale: 101
payload_on: "on"
payload_off: "off"
retain: true

40
scenes.yaml Executable file
View File

@ -0,0 +1,40 @@
- name: livingroom normal
entities:
light.tower_lamp:
state: on
brightness: 250
light.front_lamp:
state: on
brightness: 250
- name: livingroom dim
entities:
light.tower_lamp:
state: on
brightness: 40
light.front_lamp:
state: on
brightness: 40
- name: livingroom night
entities:
light.tower_lamp:
state: on
brightness: 10
light.front_lamp:
state: off
- name: dim kitchen
entities:
light.kitchen_cabinets:
state: on
brightness: 10
light.kitchen_light_strip:
state: off
- name: normal kitchen
entities:
light.kitchen_cabinets:
state: on
brightness: 250
light.kitchen_light_strip:
state: on

View File

@ -0,0 +1,11 @@
annc_storm_statement:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: "on"
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Storm Statement Issued for Anchorage House

View File

@ -0,0 +1,11 @@
annc_tornado_watch:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: "on"
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Tornado Watch Issued for Anchorage House

View File

@ -0,0 +1,11 @@
annc_tstorm_warning:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: "on"
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Thunderstorm Warning Issued for Anchorage House

View File

@ -0,0 +1,11 @@
annc_tstorm_watch:
sequence:
- condition: state
entity_id: input_boolean.audible_notifications
state: "on"
- condition: state
entity_id: input_boolean.vacation_mode
state: 'off'
- service: notify.ios_all
data:
message: Severe Thunderstorm Watch Issued for Anchorage House

8
scripts/appliances_off.yaml Executable file
View File

@ -0,0 +1,8 @@
appliances_off:
sequence:
- service: switch.turn_off
data:
entity_id: switch.master_bedroom_fan
- service: switch.turn_off
data:
entity_id: switch.loft_box_fan

8
scripts/appliances_on.yaml Executable file
View File

@ -0,0 +1,8 @@
appliances_on:
sequence:
- service: switch.turn_on
data:
entity_id: switch.master_bedroom_fan
- service: switch.turn_on
data:
entity_id: switch.loft_box_fan

6
scripts/chime_off.yaml Executable file
View File

@ -0,0 +1,6 @@
chime_off:
sequence:
- service: mqtt.publish
data:
topic: "smartthings/Dome Siren/status"
payload_template: "off"

6
scripts/chime_on.yaml Executable file
View File

@ -0,0 +1,6 @@
chime_on:
sequence:
- service: mqtt.publish
data:
topic: "smartthings/Dome Siren/status"
payload_template: "chime"

View File

@ -0,0 +1,6 @@
chromecast_media_stop:
sequence:
- service: media_player.media_stop
data:
entity_id: media_player.living_room_tv

8
scripts/driveway_off.yaml Executable file
View File

@ -0,0 +1,8 @@
# Turn off Driveway lights after 2minute delay
driveway_off:
sequence:
- service: switch.turn_off
entity_id: switch.driveway_light
- service: switch.turn_off
entity_id: switch.side_door

12
scripts/driveway_on.yaml Executable file
View File

@ -0,0 +1,12 @@
driveway_on:
sequence:
- condition: state
entity_id: sun.sun
state: 'below_horizon'
- service: switch.turn_on
data:
entity_id: switch.driveway_light
- service: switch.turn_on
data:
entity_id: switch.side_door

6
scripts/family_is_away.yaml Executable file
View File

@ -0,0 +1,6 @@
family_is_away:
sequence:
- service: mqtt.publish
data:
topic: "house/family/status"
payload_template: "Away"

7
scripts/family_is_home.yaml Executable file
View File

@ -0,0 +1,7 @@
family_is_home:
sequence:
- service: mqtt.publish
data:
topic: "house/family/status"
payload_template: "Home"

7
scripts/garage_close.yaml Executable file
View File

@ -0,0 +1,7 @@
close_garage:
sequence:
- condition: state
entity_id: cover.garage_door
state: "open"
- service: cover.close_cover
entity_id: cover.garage_door

12
scripts/inside_all_off.yaml Executable file
View File

@ -0,0 +1,12 @@
inside_all_off:
sequence:
- event: LOGBOOK_ENTRY
event_data:
name: EVENT
message: "Turning inside lights off"
- service: light.turn_off
data:
entity_id: light.tower_lamp
- service: light.turn_off
data:
entity_id: light.front_lamp

18
scripts/inside_all_on.yaml Executable file
View File

@ -0,0 +1,18 @@
inside_all_on:
sequence:
- event: LOGBOOK_ENTRY
event_data:
name: EVENT
message: "Turning inside lights on."
- service: light.turn_on
data:
entity_id: light.tower_lamp
- service: light.turn_on
data:
entity_id: light.front_lamp
- service: light.turn_on
data:
entity_id: light.loft_lamp
- service: scene.turn_on
data:
entity_id: scene.livingroom_normal

View File

@ -0,0 +1,8 @@
jeff_at_work_notification:
sequence:
- condition: state
entity_id: input_boolean.text_notify_kat
state: "on"
- service: notify.ios_katherinestonesiphone
data:
message: Jeff has arrived at Summit

View File

@ -0,0 +1,7 @@
jeff_destination_harbins:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "Harbins"
retain: true

View File

@ -0,0 +1,7 @@
jeff_destination_home:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "Home"
retain: true

View File

@ -0,0 +1,7 @@
jeff_destination_na:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "na"
retain: true

View File

@ -0,0 +1,7 @@
jeff_destination_none:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "none"
retain: true

View File

@ -0,0 +1,7 @@
jeff_destination_summit:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "Summit"
retain: true

View File

@ -0,0 +1,7 @@
jeff_destination_zoo:
sequence:
- service: mqtt.publish
data:
topic: "jeff/driving/destination"
payload: "Zoo"
retain: true

4
scripts/lockdown.yaml Executable file
View File

@ -0,0 +1,4 @@
lockdown:
sequence:
- service: input_boolean.turn_on
entity_id: input_boolean.secure_mode

12
scripts/lockdown_aborted.yaml Executable file
View File

@ -0,0 +1,12 @@
lockdown_aborted:
sequence:
- delay: '00:00:07'
- condition: state
entity_id: input_boolean.security_issue
state: 'on'
- service: input_boolean.turn_off
entity_id: input_boolean.security_check
- service: input_boolean.turn_on
entity_id: input_boolean.lockdown_issue
- service: input_boolean.turn_off
entity_id: input_boolean.secure_mode

View File

@ -0,0 +1,4 @@
security_sound_alarm_intro:
sequence:
- delay: '00:01:30'
- service: script.security_alarm_on

10
scripts/security_alarm_off.yaml Executable file
View File

@ -0,0 +1,10 @@
security_alarm_off:
sequence:
# - service: mqtt.publish
# data:
# topic: "smartthings/Dome Siren/status"
# payload_template: "off"
# - service: mqtt.publish
# data:
# topic: "smartthings/Dome Siren/alarm"
# payload_template: "off"

View File

@ -0,0 +1,9 @@
security_check_garage:
sequence:
- condition: state
#entity_id: sensor.garage_door_contact
entity_id: cover.garage_door
state: 'open'
- service: input_boolean.turn_on
entity_id: input_boolean.security_issue

View File

@ -0,0 +1,11 @@
security_check_verified:
sequence:
- delay: '00:00:05'
- condition: state
entity_id: input_boolean.security_issue
state: 'off'
- service: notify.jeff_ios
data:
message: "Anchorage House Secured"
- service: input_boolean.turn_off
entity_id: input_boolean.security_check

View File

@ -0,0 +1,8 @@
security_check_zones:
sequence:
- condition: state
entity_id: group.doors
state: 'on'
- service: input_boolean.turn_on
entity_id: input_boolean.security_issue

6
scripts/security_issue.yaml Executable file
View File

@ -0,0 +1,6 @@
security_issue:
sequence:
- delay:
seconds: 80
- service: input_boolean.turn_on
entity_id: input_boolean.security_alarm

20
scripts/standby.yaml Executable file
View File

@ -0,0 +1,20 @@
standby:
sequence:
- condition: state
entity_id: input_boolean.vacation_mode
state: "off"
- service: input_boolean.turn_off
data:
entity_id: input_boolean.secure_mode
- service: input_boolean.turn_off
data:
entity_id: input_boolean.security_issue
- service: input_boolean.turn_off
data:
entity_id: input_boolean.security_alarm
- service: input_boolean.turn_off
data:
entity_id: input_boolean.security_breach_warning
- service: notify.jeff_ios
data:
message: Anchorage House in Standby

View File

@ -0,0 +1,8 @@
sunset_garage_open:
sequence:
- condition: state
entity_id: binary_sensor.garage_door
state: "on"
- service: script.driveway_all_on

17
scripts/wxalert_tile.yaml Executable file
View File

@ -0,0 +1,17 @@
wxalert_tile:
sequence:
## Dismiss any current alert so the UI isn't filled
## up with these if there are more then one.
## Only show the latest alert
- service: persistent_notification.dismiss
data:
notification_id: "wxalert"
## Create a new persistant notification in the UI for a new alert
- service_template: >
{% if states.sensor.pws_alerts.attributes.Message %}
persistent_notification.create
{% endif %}
data_template:
notification_id: "wxalert"
message: '{{ states.sensor.pws_alerts.attributes.Message }}'
title: '{{ states.sensor.pws_alerts.attributes.Description }}'

38
sensors/batteries.yaml Executable file
View File

@ -0,0 +1,38 @@
- platform: mqtt
name: "Front Door Battery"
state_topic: "smartthings/Front Door/battery"
- platform: mqtt
name: "Laundry Door Battery"
state_topic: "smartthings/Laundry Room Door/battery"
- platform: mqtt
name: "Kitchen Smoke Battery"
state_topic: "smartthings/Kitchen Smoke/battery"
- platform: mqtt
name: "Attic Door Battery"
state_topic: "smartthings/Attic Door/battery"
- platform: mqtt
name: "Washer Door Battery"
state_topic: "smartthings/Washer Door/battery"
- platform: mqtt
name: "Back Door Battery"
state_topic: "smartthings/Back Door/battery"
- platform: template
sensors:
jeff_iphone_batt:
unit_of_measurement: '%'
value_template: >-
{%- if states.device_tracker.jeffreystonesiphone.attributes.battery %}
{{ states.device_tracker.jeffreystonesiphone.attributes.battery | round(1) }}
{% else %}
{{ states.sensor.jeff_iphone_batt.state }}
{%- endif %}
icon_template: '{%- if is_state("sensor.jeff_iphone_batt", "unknown") %}mdi:battery-unknown{%- elif is_state_attr("device_tracker.jeffreystonesiphone", "battery_status", "Charging") %}mdi:battery-charging{%- elif states.device_tracker.jeffreystonesiphone.attributes.battery <= 5 %}mdi:battery-outline{%- elif states.device_tracker.jeffreystonesiphone.attributes.battery >= 95 %}mdi:battery{% else %}mdi:battery-{{(states.device_tracker.jeffreystonesiphone.attributes.battery|float / 10)|round*10}}{%- endif %}'
kat_iphone_batt:
unit_of_measurement: '%'
value_template: >-
{%- if states.device_tracker.katherinestonesiphone.attributes.battery %}
{{ states.device_tracker.katherinestonesiphone.attributes.battery | round(1) }}
{% else %}
{{ states.sensor.kat_iphone_batt.state }}
{%- endif %}
icon_template: '{%- if is_state("sensor.kat_iphone_batt", "unknown") %}mdi:battery-unknown{%- elif is_state_attr("device_tracker.katherinestonesiphone", "battery_status", "Charging") %}mdi:battery-charging{%- elif states.device_tracker.katherinestonesiphone.attributes.battery <= 5 %}mdi:battery-outline{%- elif states.device_tracker.katherinestonesiphone.attributes.battery >= 95 %}mdi:battery{% else %}mdi:battery-{{(states.device_tracker.katherinestonesiphone.attributes.battery|float / 10)|round*10}}{%- endif %}'

72
sensors/devices.yaml Executable file
View File

@ -0,0 +1,72 @@
- platform: template
sensors:
amazon_dot_lr:
friendly_name: 'Amazon Dot LR'
value_template: "{{ 'Online' if is_state('device_tracker.dot_livingroom', 'home') else 'Offline' }}"
amazon_dot_kn:
friendly_name: 'Amazon Dot KN'
value_template: "{{ 'Online' if is_state('device_tracker.dot_kitchen', 'home') else 'Offline' }}"
appletv:
friendly_name: 'Apple Tv'
value_template: "{{ 'On' if is_state('media_player.apple_tv', 'on') else 'Off' }}"
xboxone:
friendly_name: 'xboxone'
value_template: "{{ 'Online' if is_state('device_tracker.xboxone', 'home') else 'Offline' }}"
chromecast_livingroom:
friendly_name: 'Chromecast - Living Room'
value_template: "{{ 'On' if is_state('media_player.chromecast_livingroom', 'on') else 'Off' }}"
smartthings:
friendly_name: 'SmartThings'
value_template: "{{ 'Online' if is_state('device_tracker.d052a8170fef', 'home') else 'Offline' }}"
samsungtv:
friendly_name: 'Samsung Tv'
value_template: "{{ 'On' if is_state('media_player.pn60e550_pn60e550', 'on') else 'Off' }}"
honeywell:
friendly_name: 'Honeywell'
value_template: "{{ 'Online' if is_state('device_tracker.gateway2f3bca', 'home') else 'Offline' }}"
kat_mini:
friendly_name: "Kat's Mini"
value_template: "{{ 'Online' if is_state('device_tracker.katherinesmini', 'home') else 'Offline' }}"
jeff_work_mbp:
friendly_name: "Jeff's Work MBP"
value_template: "{{ 'Online' if is_state('device_tracker.jstonemac', 'home') else 'Offline' }}"
jeff_ipad:
friendly_name: "Jeff's iPad"
value_template: "{{ 'Online' if is_state('device_tracker.jeffreystonesipad', 'home') else 'Offline' }}"
kat_ipad:
friendly_name: "Kat's iPad"
value_template: "{{ 'Online' if is_state('device_tracker.katherinesipad', 'home') else 'Offline' }}"
eero_livingroom:
friendly_name: "Eero Living Room"
value_template: "{{ 'Online' if is_state('device_tracker.eero_livingroom', 'home') else 'Offline' }}"
eero_loft:
friendly_name: "Eero Loft"
value_template: "{{ 'Online' if is_state('device_tracker.eero_loft', 'home') else 'Offline' }}"
smoke_kitchen:
friendly_name: "Kitchen Smoke"
value_template: "{{ 'Smoke Detected!' if is_state('device_tracker.eero_loft', 'smoke') else 'All Clear' }}"
security_status:
friendly_name: 'Security System'
value_template: '{{ "Armed" if is_state("input_boolean.secure_mode", "on") else "Disarmed" }}'
icon_template: '{%- if is_state("input_boolean.secure_mode", "on") %}mdi:lock{% else %}mdi:lock-open{%- endif %}'
garage_motion:
friendly_name: "Garage Motion"
value_template: "{{ 'open' if is_state('sensor.garage_dome_sensor', 'motion') else 'clear' }}"

24
sensors/google_travel_time.yaml Executable file
View File

@ -0,0 +1,24 @@
- platform: waze_travel_time
name: "Jeff ETT Home"
#api_key: !secret google_api
origin: device_tracker.jeffreystonesiphone
destination: zone.home
region: 'US'
- platform: waze_travel_time
name: "Kat ETT Home"
#api_key: !secret google_api
origin: device_tracker.katherinestonesiphone
destination: zone.home
region: 'US'
- platform: waze_travel_time
name: "Home To Summit"
# api_key: !secret google_api
origin: zone.home
destination: zone.summit
region: 'US'
- platform: waze_travel_time
name: "Home To Zoo"
# api_key: !secret google_api#
origin: zone.home
destination: zone.zoo_atlanta
region: 'US'

4
sensors/power.yaml Executable file
View File

@ -0,0 +1,4 @@
- platform: mqtt
name: "Master Bedroom Fan"
state_topic: "smartthings/Master Bedroom Fan/power"
retain: true

19
sensors/presence.yaml Executable file
View File

@ -0,0 +1,19 @@
- platform: mqtt
name: "Kat Presence"
state_topic: "smartthings/Kat/presence"
payload_on: "present"
payload_off: "not present"
retain: true
- platform: mqtt
name: "Jeff Presence"
state_topic: "smartthings/Jeffrey/presence"
payload_on: "present"
payload_off: "not present"
retain: true
- platform: mqtt
name: "Family Status"
state_topic: "house/family/status"
payload_on: "Home"
payload_off: "Away"
retain: true

9
sensors/security.yaml Executable file
View File

@ -0,0 +1,9 @@
- platform: mqtt
name: "Lockdown Status"
state_topic: "house/lockdown/status"
- platform: mqtt
name: "Kitchen Smoke"
state_topic: "smartthings/Kitchen Smoke/smoke"
payload_on: "smoke"
payload_off: "clear"
retain: true

11
sensors/speedtest.yaml Executable file
View File

@ -0,0 +1,11 @@
- platform: speedtest
minute: 30
hour:
- 0
- 6
- 12
- 18
monitored_conditions:
- ping
- download
- upload

57
sensors/system.yaml Executable file
View File

@ -0,0 +1,57 @@
- platform: systemmonitor
resources:
- type: disk_use_percent
arg: /
- type: memory_use_percent
- type: network_in
arg: eth0
- type: network_out
arg: eth0
- type: last_boot
- type: load_15m
- type: processor_use
- type: since_last_boot
- platform: cpuspeed
name: CPU
- platform: time_date
display_options:
- 'time'
- 'date'
- 'date_time'
- 'time_date'
- 'time_utc'
- 'beat'
- platform: cert_expiry
host: !secret BASEURL
name: Lets Encrypt Expiration
- platform: command_line
name: "HA Uptime"
command: echo "$(($(date +%s) - $(date -d "$(head -n1 /home/homeassistant/.homeassistant/home-assistant.log | cut -d' ' -f-2)" +%s)))"
scan_interval: 720
value_template: >-
{% set uptime = value | int %}
{% set seconds = uptime % 60 %}
{% set minutes = ((uptime % 3600) / 60) | int %}
{% set hours = ((uptime % 86400) / 3600) | int %}
{% set days = (uptime / 86400) | int %}
{%- if days > 0 -%}
{%- if days == 1 -%}
1 day
{%- else -%}
{{ days }} days
{%- endif -%}
{{ ', ' }}
{%- endif -%}
{{ '%02d' % hours }}:{{ '%02d' % minutes }}
- platform: command_line
command: python3 -c "import requests; print(requests.get('https://pypi.python.org/pypi/homeassistant/json').json()['info']['version'])"
name: Current HA Version
- platform: command_line
name: Installed version
command: "head -5 /home/homeassistant/.homeassistant/.HA_VERSION"
- platform: command_line
name: ha_v2db
command: "ls -sh /home/homeassistant/.homeassistant/home-assistant_v2.db | cut -f1 -d ' '"
- platform: command_line
name: ha_log
command: "ls -sh /home/homeassistant/.homeassistant/home-assistant.log | cut -f1 -d ' '"

27
sensors/users.yaml Executable file
View File

@ -0,0 +1,27 @@
- platform: mqtt
name: "Jeff Destination"
state_topic: "jeff/driving/destination"
- platform: mqtt
name: "Kat Destination"
state_topic: "kat/driving/destination"
- platform: template
sensors:
family_presence:
friendly_name: Family Presence
unit_of_measurement: ''
value_template: >-
{%- if is_state("sensor.jeff_presence", "present") %}
Home
{% elif is_state("sensor.kat_presence", "present") %}
Home
{% else %}
Away
{%- endif %}
icon_template: >-
{%- if is_state("sensor.family_presence", "Home") %}
mdi:home
{%- elif is_state("sensor.family_presence", "Away") %}
mdi:home-outline
{% else %}
mdi:sync-alert
{%- endif %}

133
sensors/weather.yaml Executable file
View File

@ -0,0 +1,133 @@
- platform: darksky
api_key: !secret FORCAST_API_KEY
monitored_conditions:
- summary
- icon
- nearest_storm_distance
- nearest_storm_bearing
- precip_type
- precip_intensity
- precip_probability
- temperature
- apparent_temperature
- dew_point
- wind_speed
- wind_bearing
- cloud_cover
- humidity
- pressure
- visibility
- ozone
- minutely_summary
- hourly_summary
- daily_summary
- precip_intensity_max
update_interval:
# At least one of these must be specified:
days: 0
hours: 0
minutes: 5
seconds: 0
milliseconds: 0
- platform: moon
# - platform: pollen
# zip_code: "30017"
# monitored_conditions:
# - allergy_average_forecasted
# - allergy_average_historical
# - allergy_index_today
# - allergy_index_tomorrow
# - allergy_index_yesterday
# - disease_average_forecasted
## Accurite 158 - Back Porch
- platform: mqtt
name: "Accurite Back Porch Temperature"
state_topic: "house/accurite-158/temperature"
- platform: mqtt
name: "Accurite Back Porch Humidity"
state_topic: "house/accurite-158/humidity"
# - platform: mqtt
# name: "Accurite Back Porch Status"
# state_topic: "house/accurite-158/status"
# - platform: mqtt
# name: "Accurite Back Porch Battery"
# state_topic: "house/accurite-158/battery"
- platform: mqtt
name: "Accurite Back Porch Model"
state_topic: "house/accurite-158/model"
- platform: mqtt
name: "Accurite Back Porch lupdate"
state_topic: "house/accurite-158/lastupdate"
- platform: mqtt
name: "Accurite Garage Temperature"
state_topic: "house/accurite-10968/temperature"
- platform: mqtt
name: "Accurite Garage Humidity"
state_topic: "house/accurite-10968/humidity"
- platform: mqtt
name: "Accurite Garage Model"
state_topic: "house/accurite-10968/model"
- platform: mqtt
name: "Accurite Garage lupdate"
state_topic: "house/accurite-10968/lastupdate"
- platform: template
sensors:
tornado_warning:
friendly_name: 'Tornado Warning'
value_template: >-
{%- if states.sensor.pws_alerts.attributes.Description == "Tornado Warning" %}
active
{% elif states.sensor.pws_alerts.attributes.Description_TOR == "Tornado Warning" %}
active
{% else %}
inactive
{%- endif %}
icon_template: mdi:message-alert
tornado_watch:
friendly_name: 'Tornado Watch'
value_template: >-
{%- if states.sensor.pws_alerts.attributes.Description == "Tornado Watch" %}
active
{% elif states.sensor.pws_alerts.attributes.Description_TOW == "Tornado Watch" %}
active
{% else %}
inactive
{%- endif %}
icon_template: mdi:message-alert
tstorm_warning:
friendly_name: 'T-Storm Warning'
value_template: >-
{%- if states.sensor.pws_alerts.attributes.Description == "Severe Thunderstorm Warning" %}
active
{% elif states.sensor.pws_alerts.attributes.Description_WRN == "Severe Thunderstorm Warning" %}
active
{% else %}
inactive
{%- endif %}
icon_template: mdi:message-alert
tstorm_watch:
friendly_name: 'T-Storm Watch'
value_template: >-
{%- if states.sensor.pws_alerts.attributes.Description == "Severe Thunderstorm Watch" %}
active
{% elif states.sensor.pws_alerts.attributes.Description_SEW == "Severe Thunderstorm Watch" %}
active
{% else %}
inactive
{%- endif %}
icon_template: mdi:message-alert
storm_statement:
friendly_name: 'Storm Statement'
value_template: >-
{%- if states.sensor.pws_alerts.attributes.Description == "Severe Weather Statement" %}
active
{% elif states.sensor.pws_alerts.attributes.Description_SVR == "Severe Weather Statement" %}
active
{% else %}
inactive
{%- endif %}
icon_template: mdi:message-alert

42
sensors/wunderground.yaml Executable file
View File

@ -0,0 +1,42 @@
- platform: wunderground
api_key: !secret WUNDERGROUND_API_KEY
monitored_conditions:
- alerts
- dewpoint_c
- dewpoint_f
- dewpoint_string
- feelslike_c
- feelslike_f
- feelslike_string
- heat_index_c
- heat_index_f
- heat_index_string
- elevation
- location
- observation_time
- precip_1hr_in
- precip_1hr_metric
- precip_1hr_string
- precip_today_in
- precip_today_metric
- precip_today_string
- pressure_in
- pressure_mb
- pressure_trend
- relative_humidity
- station_id
- solarradiation
- temperature_string
- temp_c
- temp_f
- UV
- visibility_km
- visibility_mi
- weather
- wind_degrees
- wind_dir
- wind_gust_kph
- wind_gust_mph
- wind_kph
- wind_mph
- wind_string

7
switches/living_room.yaml Executable file
View File

@ -0,0 +1,7 @@
- platform: mqtt
name: "Fireplace Lights"
state_topic: "smartthings/Fireplace Lights/switch"
command_topic: "smartthings/Fireplace Lights/switch"
payload_on: "on"
payload_off: "off"
retain: true

7
switches/master_bedroom.yaml Executable file
View File

@ -0,0 +1,7 @@
- platform: mqtt
name: "Master Bedroom Fan"
state_topic: "smartthings/Master Bedroom Fan/switch"
command_topic: "smartthings/Master Bedroom Fan/switch"
payload_on: "on"
payload_off: "off"
retain: true

54
switches/notifications.yaml Executable file
View File

@ -0,0 +1,54 @@
- platform: mqtt
name: "Text Notify Kat"
command_topic: "kat/notify/text"
state_topic: "kat/notify/text"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Audibly Notify Kat"
command_topic: "kat/notify/audio"
state_topic: "kat/notify/audio"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Text Notify Jeff"
command_topic: "jeff/notify/text"
state_topic: "jeff/notify/text"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Audibly Notify Jeff"
command_topic: "jeff/notify/audio"
state_topic: "jeff/notify/audio"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Text Notify House"
command_topic: "house/notify/text"
state_topic: "house/notify/text"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Audibly Notify House"
command_topic: "house/notify/audio"
state_topic: "house/notify/audio"
qos: 1
payload_on: "on"
payload_off: "off"
retain: true

21
switches/outside.yaml Executable file
View File

@ -0,0 +1,21 @@
- platform: mqtt
name: "Driveway Light"
state_topic: "smartthings/Driveway Light/switch"
command_topic: "smartthings/Driveway Light/switch"
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Side Door"
state_topic: "smartthings/Side Door Light/switch"
command_topic: "smartthings/Side Door Light/switch"
payload_on: "on"
payload_off: "off"
retain: true
- platform: mqtt
name: "Front Porch"
state_topic: "smartthings/Front Porch/switch"
command_topic: "smartthings/Front Porch/switch"
payload_on: "on"
payload_off: "off"
retain: true

8
switches/sonoff.yaml Executable file
View File

@ -0,0 +1,8 @@
- platform: mqtt
name: "Loft Fan"
command_topic: "cmnd/sonoff/power"
state_topic: "stat/sonoff/POWER"
qos: 1
payload_on: "ON"
payload_off: "OFF"
retain: true