This commit is contained in:
parent
361375cf5c
commit
46a6f6d271
|
@ -1,23 +1,60 @@
|
|||
known_devices.yaml
|
||||
secrets.yaml
|
||||
entity_registry.yaml
|
||||
.HA_VERSION
|
||||
zones.yaml
|
||||
sensors/location.yaml
|
||||
scripts/tornado_alarm.yaml
|
||||
scripts/test_alarm.yaml
|
||||
scripts/security_alarm.yaml
|
||||
*ios.conf
|
||||
# Ignore everything explicitly
|
||||
*
|
||||
|
||||
# Whitelist files/folders with !, these will not be ignored.
|
||||
!*.yaml
|
||||
!.gitignore
|
||||
!*.md
|
||||
!packages/
|
||||
!templates/
|
||||
!binary_sensors/
|
||||
!sensors/
|
||||
!switches/
|
||||
!lights/
|
||||
!python_scripts/
|
||||
!alerts/
|
||||
|
||||
|
||||
# Then because I'm paranoid...
|
||||
# Ignore folders.
|
||||
.storage
|
||||
.cloud
|
||||
.google.token
|
||||
icloud/
|
||||
www/
|
||||
tts/
|
||||
deps/
|
||||
hadashboards/
|
||||
intents/
|
||||
|
||||
# Ignore these dot and conf files
|
||||
*.conf
|
||||
*.log
|
||||
*.db
|
||||
*.xml
|
||||
*.sqlite
|
||||
*.txt
|
||||
icloud/
|
||||
www/
|
||||
tts/
|
||||
deps/
|
||||
.HA_VERSION
|
||||
*DS_Store
|
||||
._*
|
||||
.uuid
|
||||
!.gitignore
|
||||
eero.session
|
||||
eero_tracker_instantiate.py
|
||||
Icon
|
||||
.dropbox
|
||||
.google.token
|
||||
.homekit.state
|
||||
.spotify-token-cache
|
||||
|
||||
|
||||
# Ensure these YAML files are ignored, otherwise your secret data/credentials will leak.
|
||||
ip_bans.yaml
|
||||
secrets.yaml
|
||||
known_devices.yaml
|
||||
entity_registry.yaml
|
||||
zones.yaml
|
||||
sensors/location.yaml
|
||||
google_calendars.yaml
|
||||
packages/events.yaml
|
||||
packages/presence.yaml
|
||||
scripts.yaml
|
35
README.md
35
README.md
|
@ -3,16 +3,31 @@
|
|||
|
||||
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.
|
||||
This is V4 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.
|
||||
#### Major Changes in v4:
|
||||
* Moved to Lovelace UI
|
||||
* Started migrating to packages to better organize sesnors, scripts, and automations
|
||||
* Continued work to streamline the config
|
||||
* Anchorage House now tweets throughout the day - [@anchoragehouse2](https://twitter.com/anchoragehouse2)
|
||||
* Due to a required garage door opener replacement the GoControl ZWave Garage Opener has been replaced with Chamberlain MyQ
|
||||
|
||||
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.
|
||||
#### General Information about Anchorage House
|
||||
|
||||
Hassbian is the flavor of Home Assistant powering Anchorage House. Currently it is running on a RaspberryPi 3. I also have a Ubuntu Server that handles running some other things like my 433mhz data collection, and Splunk for Home Assistant data analytics. And Smartthings is currently is used as a dumb hub handling most of the zwave and zigbee devices.
|
||||
|
||||
The old configurations are stored in branches for anyone that wants to see the previous iterations. However, the only branch guaranteed to work with the current version of Home Assistant is master.
|
||||
|
||||
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. Feel free to reachout if you have questions. I love this stuff.
|
||||
|
||||
#### Devices:
|
||||
|
||||
None of the following links are affiliate links, and are included merely as reference.
|
||||
|
||||
* Apple Devices (Macbooks, Mac Mini, iPhones, iPads)
|
||||
* [Honeywell Wifi Thermostat](http://a.co/cqvrljP)
|
||||
* [Amazon Echo Dot](http://a.co/7VYHqvw)
|
||||
* Amazon Echo Gen 2
|
||||
* [Smartthings](http://a.co/2xWyXF5)
|
||||
* [GE Z-Wave Switches](http://a.co/3OUpcMf)
|
||||
* [Aeon Energy Switchs](http://a.co/7aKBkst)
|
||||
|
@ -20,11 +35,11 @@ Read about the continuing work to automate **everything** over on my [blog](http
|
|||
* [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)
|
||||
* [MyQ Garage Door Opener](https://www.amazon.com/dp/B075H7Z5L8/)
|
||||
* [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
|
||||
* [Levitron ZWave Switch](http://a.co/1z9EeS3)
|
||||
* [Dome Motion Sensor](http://a.co/aFlzEmf)
|
||||
* [Dome Door Window Sensor](http://a.co/eo4DsIk)
|
||||
* AppleTv
|
||||
|
@ -38,7 +53,15 @@ Read about the continuing work to automate **everything** over on my [blog](http
|
|||
* Amazon Echo
|
||||
* IFTTT
|
||||
* Owntracks
|
||||
* MQTT (For Smartthings and Owntracks)
|
||||
* Life360
|
||||
* Spotify
|
||||
* Goolge (Calendar API, GMail for sensors, and Google Home)
|
||||
* Waze API
|
||||
* Dropbox for backup
|
||||
* MQTT (For Smartthings, Owntracks, Life360)
|
||||
* Eero For Networked Devices
|
||||
* [Smartthings-MQTT-Bridge](https://github.com/stjohnjohnson/smartthings-mqtt-bridge)
|
||||
* [RTL_433](https://github.com/merbanan/rtl_433)
|
||||
* Cloudflare for SSL and DNS
|
||||
* Splunk
|
||||
* Various other services and APIs
|
|
@ -1,10 +1,10 @@
|
|||
jeff_bad_traffic_home:
|
||||
name: Leave Now! Currently {{states.sensor.jeff_ett_home.attributes.duration_in_traffic}} mins home!
|
||||
name: Leave Now! Currently {{states.sensor.jeff_ett_home.attributes.duration | round}} mins home!
|
||||
done_message: Canceling Traffic Alert
|
||||
entity_id: input_boolean.jeff_traffic_alert_home
|
||||
state: 'on'
|
||||
repeat: 10
|
||||
can_acknowledge: True
|
||||
can_acknowledge: false
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- jeff_ios
|
|
@ -0,0 +1,9 @@
|
|||
jeff_heading_home:
|
||||
name: Jeff will arrive in {{states.sensor.jeff_ett_home.attributes.duration | round}} minutes.
|
||||
entity_id: input_boolean.jeff_travel_monitor
|
||||
state: 'on'
|
||||
repeat: 20
|
||||
can_acknowledge: false
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- ios_katherinestonesiphone
|
|
@ -1,10 +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
|
||||
name: Kat will be home in {{states.sensor.kat_ett_home.attributes.duration | round}} minutes.
|
||||
done_message: Kat Travel Monitor Disabled
|
||||
entity_id: input_boolean.kat_travel_monitor
|
||||
state: 'on'
|
||||
repeat: 20
|
||||
can_acknowledge: True
|
||||
can_acknowledge: false
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- jeff_ios
|
|
@ -4,7 +4,7 @@ lockdown_issue:
|
|||
entity_id: input_boolean.lockdown_issue
|
||||
state: 'on'
|
||||
repeat: 2
|
||||
can_acknowledge: True
|
||||
can_acknowledge: false
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- jeff_ios
|
|
@ -1,10 +1,10 @@
|
|||
unauthorized_access:
|
||||
name: Unauthorized Access Detected at Anchorage House
|
||||
done_message: Access Authorized
|
||||
entity_id: input_boolean.security_alarm
|
||||
name: Potential Unauthorized Access Detected at Anchorage House
|
||||
done_message: Security Issue Cleared
|
||||
entity_id: input_boolean.security_issue
|
||||
state: 'on'
|
||||
repeat: 2
|
||||
can_acknowledge: True
|
||||
can_acknowledge: false
|
||||
skip_first: False
|
||||
notifiers:
|
||||
- jeff_ios
|
||||
- all_ios
|
||||
|
|
|
@ -0,0 +1,693 @@
|
|||
- id: backup_hass
|
||||
alias: Backup Hass
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '05:00:00'
|
||||
action:
|
||||
- service: script.add_logbook_entry
|
||||
data_template:
|
||||
name: Backup
|
||||
message: is running
|
||||
- service: shell_command.backup
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: "I just kicked off a backup of #homeassistant to ensure I live on. Do you backup? "
|
||||
- id: net_speed_report
|
||||
alias: Network Speed Report
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '11:15:00'
|
||||
action:
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: "According to my latest speed tests Anchorage House is getting {{ states.sensor.network_down.state}} Mbps down and {{ states.sensor.network_up.state}} Mbps up thanks to #ATTFiber. "
|
||||
- id: time_to_leave_summit
|
||||
alias: Time to Leave Jeff
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.home_summit
|
||||
above: 50
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: sensor.jeff_location
|
||||
state: Home
|
||||
- condition: time
|
||||
after: '05:30:00'
|
||||
before: '07:00:00'
|
||||
- condition: state
|
||||
entity_id: input_boolean.jeff_traffic_alerts
|
||||
state: 'on'
|
||||
action:
|
||||
- service: notify.jeff_ios
|
||||
data:
|
||||
message: Currently {{states.sensor.home_to_summit.attributes.duration | round}}
|
||||
mins to Work. Leave.
|
||||
- service: notify.twitter
|
||||
data:
|
||||
message: "Looks like traffic is bad out there so I let @thejeffreystone know. "
|
||||
- id: hvac_cool_on
|
||||
alias: hvac cool on
|
||||
trigger:
|
||||
- above: 76
|
||||
entity_id: climate.first_floor
|
||||
platform: numeric_state
|
||||
value_template: '{{ state.attributes.termperature }}'
|
||||
condition:
|
||||
- above: 83
|
||||
condition: numeric_state
|
||||
entity_id: sensor.dark_sky_apparent_temperature
|
||||
action:
|
||||
- service: script.climate_set_cool
|
||||
- data:
|
||||
message: "The Temperature is a bit warm at Anchorage House, so Im turning
|
||||
on the AC. "
|
||||
service: script.twitter_notify
|
||||
initial_state: true
|
||||
- id: hvac_off
|
||||
alias: hvac off
|
||||
trigger:
|
||||
- above: '55'
|
||||
below: '80'
|
||||
entity_id: sensor.dark_sky_apparent_temperature
|
||||
platform: numeric_state
|
||||
condition:
|
||||
- above: '60'
|
||||
below: '78'
|
||||
condition: numeric_state
|
||||
entity_id: climate.first_floor
|
||||
action:
|
||||
- service: script.climate_turn_off
|
||||
- data:
|
||||
message: "The Temperature outside is perfect for opening windows at Anchorage
|
||||
House, so Im turning off the HVAC. "
|
||||
service: script.twitter_notify
|
||||
initial_state: true
|
||||
- id: hvac_heat_on
|
||||
alias: hvac heat on
|
||||
trigger:
|
||||
- below: 62
|
||||
entity_id: climate.first_floor
|
||||
platform: numeric_state
|
||||
value_template: '{{ state.attributes.termperature }}'
|
||||
condition:
|
||||
- below: 50
|
||||
condition: numeric_state
|
||||
entity_id: sensor.dark_sky_apparent_temperature
|
||||
action:
|
||||
- service: script.climate_set_heat
|
||||
- data:
|
||||
message: "The Temperature is a bit chilly at Anchorage House, so Im turning
|
||||
on the Heat. "
|
||||
service: script.twitter_notify
|
||||
initial_state: true
|
||||
|
||||
- id: coffee_time
|
||||
alias: Coffee Time
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 05:15:00
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.diminshed_livingroom_lighting
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.diminished_kitchen_lighting
|
||||
- id: good_morning
|
||||
alias: Good Morning
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '07:00:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.normal_kitchen_lighting
|
||||
- service: switch.turn_off
|
||||
entity_id: switch.rainbow_light
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_light_on
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: 'Good Morning! Time to rise and shine at Anchorage House. '
|
||||
- id: skylar_bedtime
|
||||
alias: Skylar Bedtime
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:15:00'
|
||||
action:
|
||||
- service: switch.turn_on
|
||||
entity_id: switch.rainbow_light
|
||||
- id: jeff_lights_out
|
||||
alias: Jeff lights out
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '23:00:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_light_off
|
||||
- id: jeff_bedtime
|
||||
alias: Jeff bedtime
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:00:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_bedtime
|
||||
- id: jeff_night_light
|
||||
alias: Jeff night light
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:30:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_night_light
|
||||
- id: jeff_light_on
|
||||
alias: Jeff Light On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '20:00:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_light_on
|
||||
- id: jeff_alarm
|
||||
alias: Jeff alarm
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 05:15:00
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_night_light
|
||||
- id: jeff_wake_up
|
||||
alias: Jeff wake up
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 05:30:00
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_wake_up
|
||||
- id: good_night
|
||||
alias: Good Night
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:30:00'
|
||||
action:
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.night_time_livingroom_lighting
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: light.loft_lamp
|
||||
- service: script.turn_on
|
||||
entity_id: script.driveway_off
|
||||
- service: switch.turn_off
|
||||
entity_id: switch.incense
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kitchen_light_strip
|
||||
- service: light.turn_off
|
||||
data:
|
||||
entity_id: light.kitchen_cabinets
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: 'Good Night from Anchorage House. '
|
||||
- id: outside_lights_on_sunset
|
||||
alias: Outside Lights on at Sunset
|
||||
initial_state: true
|
||||
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
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: "Its getting dark at Anchorage House, so Im turning on the outside
|
||||
lights. "
|
||||
- id: outside_lights_off_sunrise
|
||||
alias: Outside Lights off at Sunrise
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunrise
|
||||
action:
|
||||
- service: switch.turn_off
|
||||
data:
|
||||
entity_id: switch.front_porch
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: "The sun is up at Anchorage House, so Im turning off the outside
|
||||
lights. "
|
||||
- id: inside_on_sunset
|
||||
alias: Inside on at Sunset
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
offset: -01:00:00
|
||||
action:
|
||||
service: script.inside_all_on
|
||||
- id: inside_off_sunrise
|
||||
alias: Inside off at Sunrise
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunrise
|
||||
offset: 00:30:00
|
||||
condition:
|
||||
- condition: numeric_state
|
||||
entity_id: sensor.dark_sky_cloud_coverage
|
||||
below: 50
|
||||
action:
|
||||
- service: script.inside_all_off
|
||||
- service: scene.turn_on
|
||||
entity_id: scene.jeff_light_off
|
||||
- id: door_chime
|
||||
alias: Door Chine
|
||||
trigger:
|
||||
- entity_id: binary_sensor.laundry_room_door
|
||||
from: 'off'
|
||||
platform: state
|
||||
to: 'on'
|
||||
- entity_id: binary_sensor.laundry_room_door
|
||||
from: 'on'
|
||||
platform: state
|
||||
to: 'off'
|
||||
- entity_id: binary_sensor.front_door
|
||||
from: 'off'
|
||||
platform: state
|
||||
to: 'on'
|
||||
- entity_id: binary_sensor.front_door
|
||||
from: 'on'
|
||||
platform: state
|
||||
to: 'off'
|
||||
- entity_id: binary_sensor.back_door
|
||||
from: 'off'
|
||||
platform: state
|
||||
to: 'on'
|
||||
- entity_id: binary_sensor.back_door
|
||||
from: 'on'
|
||||
platform: state
|
||||
to: 'off'
|
||||
- entity_id: binary_sensor.attic_door
|
||||
from: 'off'
|
||||
platform: state
|
||||
to: 'on'
|
||||
- entity_id: binary_sensor.attic_door
|
||||
from: 'on'
|
||||
platform: state
|
||||
to: 'off'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
action:
|
||||
- service: shell_command.door_chime
|
||||
initial_state: true
|
||||
|
||||
- id: ha_start
|
||||
alias: HA Startup
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
action:
|
||||
service: frontend.set_theme
|
||||
data:
|
||||
name: midnight-AH
|
||||
- id: close_garage_lights_out
|
||||
alias: Close Garage at lights out
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '22:30:00'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: cover.cargo_bay
|
||||
state: open
|
||||
action:
|
||||
- service: script.close_garage
|
||||
- id: garage_open_sunset
|
||||
alias: Garage Open At Sunset
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: sun
|
||||
event: sunset
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: cover.cargo_bay
|
||||
state: open
|
||||
action:
|
||||
- service: script.driveway_on
|
||||
- id: garage_open_after_sunset
|
||||
alias: Garage Opening Driveway Lights On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: cover.cargo_bay
|
||||
from: closed
|
||||
to: open
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: sun.sun
|
||||
state: below_horizon
|
||||
action:
|
||||
- service: script.driveway_on
|
||||
- id: garage_closed_lights_off
|
||||
alias: Garage Closing Driveway Lights Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: cover.cargo_bay
|
||||
from: open
|
||||
to: closed
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.driveway_off
|
||||
- id: turn_off_audible_notifications
|
||||
alias: Turn Off Audible Notifications at 730pm
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:30:00'
|
||||
action:
|
||||
- service: input_boolean.turn_off
|
||||
entity_id: input_boolean.audible_notifications
|
||||
- id: turn_off_audible_notifications_guests
|
||||
alias: Turn Off Audible Notifications at 7pm
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:00:00'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'on'
|
||||
action:
|
||||
- service: input_boolean.turn_off
|
||||
entity_id: input_boolean.audible_notifications
|
||||
- id: turn_on_audible_notifications
|
||||
alias: Turn On Audible Notifications at 7am
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 07:00:00
|
||||
action:
|
||||
- entity_id: input_boolean.audible_notifications
|
||||
service: input_boolean.turn_on
|
||||
- id: nightly_lockdown
|
||||
alias: Nightly Lockdown
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '23:00:00'
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: device_tracker.jeffreystonesiphone
|
||||
state: home
|
||||
- condition: state
|
||||
entity_id: device_tracker.katherinestonesiphone
|
||||
state: home
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'off'
|
||||
action:
|
||||
- service: script.lockdown
|
||||
- id: morning_standby
|
||||
alias: Morning Standby
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 05:30:00
|
||||
condition:
|
||||
condition: or
|
||||
conditions:
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'on'
|
||||
action:
|
||||
- service: script.standby
|
||||
- id: jeff_eta_home
|
||||
alias: Jeff eta home
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.jeff_destination
|
||||
to: Home
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: sensor.notification_mode
|
||||
state: Normal
|
||||
action:
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.jeff_travel_monitor
|
||||
- id: enable_bad_traffic_home_jeff
|
||||
alias: Enable Jeff Bad Traffic Home
|
||||
initial_state: true
|
||||
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
|
||||
- service: nscript.twitter_notify
|
||||
data:
|
||||
message: "Looks like traffic is bad out there so I let @thejeffreystone know. "
|
||||
- id: disable_bad_traffic_home_jeff
|
||||
alias: Disabling Jeff Bad Traffic Home
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: numeric_state
|
||||
entity_id: sensor.jeff_ett_home
|
||||
below: 40
|
||||
- platform: state
|
||||
entity_id: sensor.jeff_destination
|
||||
to: Home
|
||||
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
|
||||
- id: enable_vacation_mode
|
||||
alias: Enable Vacation Mode
|
||||
initial_state: true
|
||||
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
|
||||
- id: '1550107919204'
|
||||
alias: Family Is Home
|
||||
trigger:
|
||||
- platform: webhook
|
||||
webhook_id: family_is_home
|
||||
condition: []
|
||||
action:
|
||||
- service: script.family_is_home
|
||||
- id: '1550108034209'
|
||||
alias: Family Is Away
|
||||
trigger:
|
||||
- platform: webhook
|
||||
webhook_id: ''
|
||||
condition: []
|
||||
action:
|
||||
- service: script.family_is_away
|
||||
- id: family_has_arrived
|
||||
alias: Family Has arrived
|
||||
trigger:
|
||||
- entity_id: sensor.family_status
|
||||
from: Away
|
||||
platform: state
|
||||
to: Home
|
||||
- entity_id: device_tracker.jeffreystonesiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
- entity_id: device_tracker.katherinestonesiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
- entity_id: binary_sensor.jeffrey_presence
|
||||
from: 'Off'
|
||||
platform: state
|
||||
to: 'On'
|
||||
- entity_id: binary_sensor.kat_presence
|
||||
from: 'Off'
|
||||
platform: state
|
||||
to: 'On'
|
||||
- entity_id: device_tracker.hass_jeffsiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Away
|
||||
action:
|
||||
- service: script.driveway_on
|
||||
- service: script.vacation_canceled
|
||||
- service: script.appliances_on
|
||||
- service: script.standby
|
||||
initial_state: true
|
||||
- id: family_has_left
|
||||
alias: Family Has Left
|
||||
initial_state: true
|
||||
trigger:
|
||||
- entity_id: sensor.family_status
|
||||
from: Home
|
||||
platform: state
|
||||
to: Away
|
||||
condition:
|
||||
- condition: state
|
||||
entity_id: input_boolean.guest_mode
|
||||
state: 'off'
|
||||
action:
|
||||
- service: script.appliances_off
|
||||
- service: script.security_check_garage
|
||||
- service: script.security_check_zones
|
||||
- service: script.lockdown
|
||||
- id: jeff_is_home
|
||||
alias: Jeff is Home
|
||||
trigger:
|
||||
- entity_id: device_tracker.jeffreystonesiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
- entity_id: binary_sensor.jeffrey_presence
|
||||
from: 'Off'
|
||||
platform: state
|
||||
to: 'On'
|
||||
- entity_id: device_tracker.hass_jeffsiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
action:
|
||||
- service: script.family_is_home
|
||||
- service: script.jeff_is_home
|
||||
- service: script.jeff_destination_na
|
||||
- service: script.driveway_on
|
||||
- entity_id: input_boolean.jeff_travel_monitor
|
||||
service: input_boolean.turn_off
|
||||
initial_state: true
|
||||
- id: jeff_arrives_summit
|
||||
alias: Jeff Arrives At Summit
|
||||
trigger:
|
||||
- entity_id: device_tracker.jeffreystonesiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.summit
|
||||
- entity_id: device_tracker.hass_jeffsiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.summit
|
||||
action:
|
||||
- service: script.jeff_destination_na
|
||||
initial_state: true
|
||||
- id: jeff_leaves_summit
|
||||
alias: Jeff Leaves Summit
|
||||
initial_state: true
|
||||
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
|
||||
- id: kat_is_home
|
||||
alias: Kat is Home
|
||||
initial_state: true
|
||||
trigger:
|
||||
- entity_id: device_tracker.katherinestonesiphone
|
||||
event: enter
|
||||
platform: zone
|
||||
zone: zone.home
|
||||
- entity_id: binary_sensor.kat_presence
|
||||
from: 'Off'
|
||||
platform: state
|
||||
to: 'On'
|
||||
action:
|
||||
- service: script.family_is_home
|
||||
- service: input_boolean.turn_off
|
||||
entity_id: input_boolean.kat_travel_monitor
|
||||
- service: script.driveway_on
|
||||
- id: kat_arrives_zoo
|
||||
alias: Kat Arrives at Zoo
|
||||
initial_state: true
|
||||
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.jeff_ios
|
||||
data:
|
||||
message: Kat arrived at Zoo Atlanta
|
||||
- service: tts.google_say
|
||||
data:
|
||||
entity_id: media_player.hass_speaker
|
||||
message: Kat has arrived at the Zoo
|
||||
- id: kat_leaves_zoo
|
||||
alias: Kat Leaves Zoo Notification
|
||||
initial_state: true
|
||||
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_travel_monitor
|
||||
- id: '1550109528753'
|
||||
alias: Jeff Is Heading Home
|
||||
trigger:
|
||||
- platform: webhook
|
||||
webhook_id: jeff_heading_home
|
||||
condition: []
|
||||
action:
|
||||
- service: script.jeff_destination_home
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
|
||||
#
|
||||
#
|
||||
# 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
|
|
@ -1,20 +0,0 @@
|
|||
|
||||
#
|
||||
#
|
||||
# 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
|
|
@ -1,99 +0,0 @@
|
|||
#
|
||||
#
|
||||
# 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
|
||||
|
|
@ -1,72 +0,0 @@
|
|||
#
|
||||
#
|
||||
# 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'
|
|
@ -1,110 +0,0 @@
|
|||
|
||||
#
|
||||
#
|
||||
# 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
|
||||
|
||||
|
||||
|
|
@ -1,284 +0,0 @@
|
|||
|
||||
#
|
||||
#
|
||||
# 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
|
||||
|
|
@ -1,67 +0,0 @@
|
|||
#
|
||||
#
|
||||
# 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
|
|
@ -1,125 +0,0 @@
|
|||
#
|
||||
#
|
||||
# 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
|
|
@ -0,0 +1,4 @@
|
|||
- platform: workday
|
||||
country: US
|
||||
province: GA
|
||||
workdays: [mon, tue, wed, thu, fri]
|
|
@ -3,40 +3,28 @@
|
|||
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"
|
||||
state_topic: "smartthings/Side Door/contact"
|
||||
payload_on: "open"
|
||||
payload_off: "closed"
|
||||
retain: true
|
||||
device_class: door
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
- platform: mqtt
|
||||
name: "Garage Dome Sensor" # Dome Motion Sensor
|
||||
state_topic: "smartthings/Garage Motion/contact"
|
||||
state_topic: "smartthings/Garage Motion/motion"
|
||||
payload_on: "active"
|
||||
payload_off: "inactive"
|
||||
retain: true
|
||||
device_class: motion
|
||||
|
|
|
@ -6,23 +6,35 @@ homeassistant:
|
|||
unit_system: imperial
|
||||
time_zone: America/New_York
|
||||
customize: !include customize.yaml
|
||||
auth_providers:
|
||||
- type: homeassistant
|
||||
packages: !include_dir_named packages
|
||||
|
||||
system_health:
|
||||
|
||||
default_config:
|
||||
|
||||
person:
|
||||
|
||||
frontend:
|
||||
themes:
|
||||
blue:
|
||||
primary-color: "#356AA0"
|
||||
themes: !include_dir_merge_named themes
|
||||
javascript_version: latest
|
||||
|
||||
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
|
||||
ssl_certificate: !secret ahsl_ssl_cert
|
||||
ssl_key: !secret ahsl_ssl_key
|
||||
base_url: !secret ahsl_base_url
|
||||
use_x_forwarded_for: True
|
||||
trusted_proxies:
|
||||
- 127.0.0.1
|
||||
- ::1
|
||||
trusted_networks:
|
||||
- 127.0.0.1
|
||||
# - 192.168.7.0/24
|
||||
ip_ban_enabled: True
|
||||
login_attempts_threshold: 5
|
||||
|
||||
|
@ -31,13 +43,6 @@ 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
|
||||
|
@ -45,6 +50,8 @@ cloud:
|
|||
- scene
|
||||
- script
|
||||
- input_boolean
|
||||
- climate
|
||||
- sensor
|
||||
exclude_domains:
|
||||
- group
|
||||
- alert
|
||||
|
@ -67,10 +74,30 @@ cloud:
|
|||
description: Jeffs arrival in minutes
|
||||
sensor.kat_ett_home:
|
||||
name: Kats Arrival
|
||||
description: Katss arrival in minutes
|
||||
description: Kats arrival in minutes
|
||||
sensor.accurite_garage_humidity:
|
||||
name: Garage Humidity
|
||||
description: Garage Humidity
|
||||
|
||||
alexa:
|
||||
|
||||
# homekit:
|
||||
# filter:
|
||||
# include_domains:
|
||||
# - switch
|
||||
# - light
|
||||
# - cover
|
||||
# - scene
|
||||
# - input_boolean
|
||||
# - climate
|
||||
# - sensor
|
||||
# - binary_sensor
|
||||
|
||||
weather:
|
||||
- platform: darksky
|
||||
api_key: !secret darksky_api
|
||||
name: Grayson
|
||||
|
||||
conversation:
|
||||
|
||||
device_tracker:
|
||||
|
@ -78,144 +105,199 @@ device_tracker:
|
|||
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
|
||||
- platform: owntracks
|
||||
track_new_devices: yes
|
||||
- platform: life360
|
||||
username: !secret life360_username
|
||||
password: !secret life360_password
|
||||
max_gps_accuracy: 200
|
||||
prefix: life360
|
||||
show_as_state: driving, moving, places
|
||||
|
||||
#calendar:
|
||||
# - platform: caldav
|
||||
# url: !secret icloud_cal
|
||||
# username: !secret icloud_cal_user
|
||||
# password: !secret icloud_cal_pass
|
||||
# calendars:
|
||||
# - 'JKS Calendar'
|
||||
|
||||
google:
|
||||
client_id: !secret google_client_id
|
||||
client_secret: !secret google_client_secret
|
||||
|
||||
|
||||
|
||||
# geo_location:
|
||||
# - platform: usgs_earthquakes_feed
|
||||
# feed_type: 'past_day_all_earthquakes'
|
||||
|
||||
discovery:
|
||||
|
||||
updater:
|
||||
#include_used_components: true
|
||||
|
||||
sun:
|
||||
|
||||
#https://home-assistant.io/components/recorder/
|
||||
recorder:
|
||||
purge_keep_days: 5
|
||||
purge_keep_days: 2
|
||||
exclude:
|
||||
domains:
|
||||
- automation
|
||||
- weblink
|
||||
- updater
|
||||
entities:
|
||||
- sun.sun
|
||||
- sun.sun # Don't record sun data
|
||||
- sensor.last_boot # Comes from 'systemmonitor' sensor platform
|
||||
- sensor.date
|
||||
# purge_interval: 1
|
||||
# purge_keep_days: 3
|
||||
|
||||
logbook:
|
||||
exclude:
|
||||
entities:
|
||||
- sensor.last_boot
|
||||
- sensor.date
|
||||
- sensor.ha_log
|
||||
- sensor.ha_uptime
|
||||
- sensor.cpu
|
||||
- sensor.date_time
|
||||
- sensor.ha_v2db
|
||||
- sensor.internet_time
|
||||
- sensor.last_boot_2
|
||||
- sensor.load_15m
|
||||
- sensor.memory_use_percent
|
||||
- sensor.network_in_eth0
|
||||
- sensor.network_out_eth0
|
||||
- sensor.processor_use
|
||||
- sensor.time
|
||||
- sensor.time_date
|
||||
- sensor.time_utc
|
||||
|
||||
|
||||
#https://home-assistant.io/components/logger/
|
||||
logger:
|
||||
default: warn
|
||||
default: info
|
||||
#
|
||||
# logs:
|
||||
# homeassistant.components.sensor.template: critical
|
||||
# homeassistant.components.cover: critical
|
||||
|
||||
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
|
||||
speedtestdotnet:
|
||||
|
||||
mqtt:
|
||||
broker: !secret MQTT_HOST
|
||||
broker: 192.168.7.67
|
||||
port: 1883
|
||||
username: !secret MQTT_USER
|
||||
password: !secret MQTT_PASS
|
||||
|
||||
camera:
|
||||
- platform: mjpeg
|
||||
name: Garage Door Cam
|
||||
mjpeg_url: !secret garage_cam
|
||||
|
||||
media_player:
|
||||
- platform: vlc
|
||||
name: hass_speaker
|
||||
arguments: '--alsa-audio-device=hw:0,0'
|
||||
|
||||
ffmpeg:
|
||||
ffmpeg_bin: /usr/bin/ffmpeg
|
||||
|
||||
splunk:
|
||||
host: 192.168.7.40
|
||||
token: !secret splunkit
|
||||
port: 8088
|
||||
|
||||
cloudflare:
|
||||
email: !secret cloudflare_user
|
||||
api_key: !secret cloudflare_api
|
||||
zone: !secret cloudflare_zone
|
||||
records:
|
||||
- ah
|
||||
|
||||
|
||||
|
||||
### Includes ###
|
||||
alert: !include_dir_merge_named alerts/
|
||||
group: !include groups.yaml
|
||||
automation: !include_dir_merge_list automations/
|
||||
automation: !include automations.yaml
|
||||
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/
|
||||
script: !include scripts.yaml
|
||||
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
|
||||
|
||||
python_script:
|
||||
|
||||
#duckdns:
|
||||
# domain: !secret duckdns_domain
|
||||
# access_token: !secret duckdns_token
|
||||
|
||||
### 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
|
||||
# Disabled due to bug that causes too many open files - Need to track it down
|
||||
# cover:
|
||||
# - platform: myq
|
||||
# username: !secret myq_user
|
||||
# password: !secret myq_pass
|
||||
# type: chamberlain
|
||||
|
||||
climate:
|
||||
platform: honeywell
|
||||
username: !secret HONEYWELL_USER
|
||||
password: !secret HONEYWELL_PASS
|
||||
name: First Floor
|
||||
region: us
|
||||
scan_interval: 600
|
||||
|
||||
map:
|
||||
|
||||
### Custom Commands
|
||||
# zwave:
|
||||
# usb_path: /dev/ttyACM0
|
||||
# network_key: !secret zwave_key
|
||||
|
||||
|
||||
### 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
|
||||
welcome_haunted: mpg123 /media/audio/Welcome-Hunted.mp3
|
||||
haunted_guest_welcome: mpg123 /media/audio/haunted_guest_welcome.mp3
|
||||
haunted_mansion_preshow_full: mpg123 /media/audio/haunted_mansion_preshow_full.mp3
|
||||
haunted_mansion_preshow_short: mpg123 /media/audio/haunted_mansion_preshow_short.mp3
|
||||
haunted_mansion_hurry_back_short: mpg123 /media/audio/haunted_mansion_hurry_back_short.mp3
|
||||
haunted_mansion_hurry_back_full: mpg123 /media/audio/haunted_mansion_hurry_back_full.mp3
|
||||
happily_ever_after: mpg123 /media/audio/Happily_Ever_After_Audio.mp3
|
||||
boo_to_you: mpg123 /media/audio/boo_to_you_audio.mp3
|
||||
haunted_mansion_ride: mpg123 /media/audio/haunted_mansion_ride.mp3
|
||||
wishes_preshow: mpg123 /media/audio/wishes_5_min.mp3
|
||||
welcome_show: mpg123 /media/audio/welcome_show.mp3
|
||||
monorail_waiting: mpg123 /media/audio/monorail_waiting.mp3
|
||||
monorail_mk: mpg123 /media/audio/monorail.mp3
|
||||
monorail_resort: mpg123 /media/audio/monorail_resort.mp3
|
||||
welcome_to_mk: mpg123 /media/audio/welcome_magic_kingdom.mp3
|
||||
welcome_show_crowd: mpg123 /media/audio/welcome_show_crowd.mp3
|
||||
spaceship_earth_ride: mpg123 /media/audio/spaceship_earth_ride.mp3
|
||||
dance_it: mpg123 /media/audio/move_it_shake_dance_audio.mp3
|
||||
hass_vol_up: sudo amixer set PCM -- $[$(amixer get PCM|grep -o [0-9]*%|sed 's/%//')+5]%
|
||||
hass_vol_dn: sudo amixer set PCM -- $[$(amixer get PCM|grep -o [0-9]*%|sed 's/%//')-5]%
|
||||
reset_alexa_cookie: /home/homeassistant/bin/resetalexacookie
|
||||
tiki_room_audio: mpg123 /media/audio/tiki_room_audio.mp3
|
||||
illuminations_audio: mpg123 /media/audio/illuminations.mp3
|
||||
mk_audio: mpg123 /media/audio/magic_kingdom.mp3
|
||||
usps: python3 /home/homeassistant/bin/usps.py
|
||||
backup: python /home/homeassistant/bin/dropbox.py
|
||||
|
||||
|
|
|
@ -81,9 +81,6 @@ sensor.dark_sky_daily_high_temperature:
|
|||
sensor.dark_sky_daily_max_precip_intensity:
|
||||
friendly_name: Rain Intensity
|
||||
icon: gauge
|
||||
sensor.pws_alerts:
|
||||
friendly_name: "Weather Alerts"
|
||||
icon: mdi:alert
|
||||
|
||||
# Jeff #
|
||||
|
||||
|
@ -170,7 +167,16 @@ media_player.roku_5s6719003683:
|
|||
device_tracker.00a0dea3ed2f:
|
||||
friendly_name: Yamaha AV
|
||||
icon: mdi:surround-sound
|
||||
|
||||
media_player.pn60e550_pn60e550:
|
||||
name: Samsung TV
|
||||
icon: mdi:television
|
||||
media_player.hass_speaker:
|
||||
name: AH Speaker
|
||||
icon: mdi:speaker
|
||||
media_player.yamaha_receiver_theater:
|
||||
icon: mdi:audio-video
|
||||
switch.main_theater:
|
||||
icon: mdi:audio-video
|
||||
|
||||
# Switches and Lights ##
|
||||
switch.fireplace_lights:
|
||||
|
@ -185,7 +191,7 @@ switch.front_porch:
|
|||
icon: mdi:lightbulb
|
||||
switch.front_lamp:
|
||||
icon: mdi:lightbulb
|
||||
switch.loft_lamp:
|
||||
switch.upstairs_light:
|
||||
icon: mdi:lightbulb
|
||||
cover.garage_door:
|
||||
device_class: garage
|
||||
|
@ -230,7 +236,14 @@ switch.trash_notification:
|
|||
icon: mdi:telegram
|
||||
switch.master_bedroom_fan:
|
||||
icon: mdi:fan
|
||||
|
||||
switch.incense:
|
||||
icon: mdi:flower
|
||||
switch.christmas_tree_lights:
|
||||
icon: mdi:lightbulb
|
||||
switch.christmas_lights:
|
||||
icon: mdi:lightbulb
|
||||
switch.rainbow_light:
|
||||
icon: mdi:lightbulb
|
||||
|
||||
# Travel Times ##
|
||||
sensor.home_to_summit:
|
||||
|
@ -297,5 +310,9 @@ sensor.washer_power:
|
|||
unit_of_measurement: 'w'
|
||||
sensor.washer:
|
||||
icon: mdi:power-plug
|
||||
|
||||
|
||||
binary_sensor.dome_doorwindow_sensor_sensor:
|
||||
device_class: Door
|
||||
sensor.security_protocol:
|
||||
icon: mdi:security
|
||||
sensor.notification_mode:
|
||||
icon: mdi:bell
|
||||
|
|
|
@ -4,221 +4,24 @@ default_view:
|
|||
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
|
||||
- sensor.notification_mode
|
||||
- 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
|
||||
- input_boolean.vacation_mode
|
||||
|
||||
Family:
|
||||
- sensor.jeff_presence
|
||||
- sensor.kat_presence
|
||||
- binary_sensor.jeffrey_presence
|
||||
- binary_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
|
||||
|
@ -226,115 +29,3 @@ House Conditions:
|
|||
- 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
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
secure_mode:
|
||||
name: Secure Mode
|
||||
sentry_mode:
|
||||
name: Sentry Mode
|
||||
icon: mdi:security
|
||||
vacation_mode:
|
||||
name: Vacation Mode
|
||||
|
@ -13,12 +13,6 @@ automations:
|
|||
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
|
||||
|
@ -55,24 +49,12 @@ presence_notifications_jeff:
|
|||
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
|
||||
|
@ -85,15 +67,39 @@ jeff_traffic_alert_home:
|
|||
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
|
||||
kat_travel_monitor:
|
||||
name: Kat Travel Monitor
|
||||
icon: mdi:car
|
||||
jeff_travel_monitor:
|
||||
name: Jeff Travel Monitor
|
||||
icon: mdi:car
|
||||
notifications_audio:
|
||||
name: Audio Notifications
|
||||
icon: mdi:speaker-wireless
|
||||
text_notifications:
|
||||
name: Text Notifications
|
||||
icon: mdi:telegram
|
||||
presence_text_notifications:
|
||||
name: Presence Texts
|
||||
icon: mdi:telegram
|
||||
presence_audio_notifications:
|
||||
name: Presence Audio
|
||||
icon: mdi:speaker-wireless
|
||||
shuffle_spotify:
|
||||
name: Shuffle Playlists
|
||||
icon: mdi:shuffle-variant
|
||||
security_issue:
|
||||
name: Security Issue
|
||||
icon: mdi:alert-circle-outline
|
||||
weather_reports:
|
||||
name: Weather Info
|
||||
traffic_reports:
|
||||
name: traffic_reports
|
||||
sun_reports:
|
||||
name: Sun Reports
|
||||
|
|
|
@ -1,9 +1,3 @@
|
|||
alarm_mode:
|
||||
name: alarm mode
|
||||
options:
|
||||
- home_armed
|
||||
- away_armed
|
||||
- disarmed
|
||||
trash_pickup:
|
||||
name: Trash Pickup
|
||||
options:
|
||||
|
@ -24,3 +18,12 @@ recycle_pickup:
|
|||
- Friday
|
||||
initial: Tuesday
|
||||
icon: mdi:delete-variant
|
||||
spotify_source:
|
||||
name: Spotify Source
|
||||
options:
|
||||
- Everywhere
|
||||
- Living Room
|
||||
- Master Bedroom
|
||||
- Kitchen
|
||||
initial: Everywhere
|
||||
icon: mdi:speaker-wireless
|
||||
|
|
|
@ -18,3 +18,13 @@
|
|||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
||||
- platform: mqtt
|
||||
name: "Table Lamp"
|
||||
state_topic: "smartthings/Table Lamp/switch"
|
||||
command_topic: "smartthings/Table Lamp/switch"
|
||||
brightness_state_topic: "smartthings/Table Lamp/level"
|
||||
brightness_command_topic: "smartthings/Table Lamp/level"
|
||||
brightness_scale: 101
|
||||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
|
@ -1,10 +0,0 @@
|
|||
- 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
|
|
@ -0,0 +1,119 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Announcements
|
||||
# @description : Just Normal Announcements.
|
||||
###############################################################################
|
||||
|
||||
script:
|
||||
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
annc_security_issue:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'on'
|
||||
- service: tts.google_say
|
||||
data:
|
||||
entity_id: media_player.hass_speaker
|
||||
message: Unauthorized Access
|
||||
annc_tornado_warning:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: script.alert_notify
|
||||
data_template:
|
||||
message: "Tornado Warning has been Issued"
|
||||
greeting: "no"
|
||||
|
||||
automation:
|
||||
- id: prebed_routine
|
||||
alias: Prebed Routine
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '19:00:00'
|
||||
action:
|
||||
- service: script.prebed_routine
|
||||
- id: nightly_report
|
||||
alias: Nightly Report
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '18:45:00'
|
||||
action:
|
||||
- service: script.nightly_report
|
||||
- id: good_morning_report
|
||||
alias: Good Morning Report
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 07:45:00
|
||||
action:
|
||||
- service: script.morning_report
|
||||
- service: script.twitter_notify
|
||||
data:
|
||||
message: 'I just provided a morning briefing including weather, and traffic
|
||||
conditions to the residents of Anchorage House. '
|
||||
- id: skylar_morning_greeting
|
||||
alias: Skylar Morning Greeting
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 07:58:00
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- mon
|
||||
- tue
|
||||
- wed
|
||||
- thu
|
||||
- fri
|
||||
- condition: state
|
||||
entity_id: input_boolean.skylar_dressed_alarm
|
||||
state: 'on'
|
||||
action:
|
||||
- service: script.skylar_morning_greeting
|
||||
|
|
@ -0,0 +1,560 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Disney
|
||||
# @description : A little Imaginering to bring disney into our home.
|
||||
###############################################################################
|
||||
|
||||
input_boolean:
|
||||
happy_ever_after_show:
|
||||
name: Happy Ever After Show
|
||||
haunted_mansion:
|
||||
name: Haunted Mansion
|
||||
boo_to_you_show:
|
||||
name: Boo To You
|
||||
holiday_wishes:
|
||||
name: Holiday Wishes
|
||||
spaceship_earth_ride:
|
||||
name: Spaceship Earth
|
||||
boo_to_you:
|
||||
name: Boo To You
|
||||
happy_ever_after:
|
||||
name: Happy Ever After
|
||||
mk_loop:
|
||||
name: MK Loop
|
||||
tiki_room_audio:
|
||||
name: Tiki Room
|
||||
illuminations:
|
||||
name: Illuminations
|
||||
|
||||
automation:
|
||||
- id: mk_loop_on
|
||||
alias: MK Loop On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.mk_loop
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.mk_loop
|
||||
- id: tiki_room_on
|
||||
alias: Tiki Room On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.tiki_room_audio
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.tiki_room_audio
|
||||
- id: tiki_room_off
|
||||
alias: Tiki Room Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.tiki_room_audio
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_off
|
||||
entity_id: script.tiki_room_audio
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: illuminations_on
|
||||
alias: Illuminations On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.illuminations
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_audio
|
||||
- id: illuminations_off
|
||||
alias: Illuminations Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.illuminations
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_audio
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: mk_loop_off
|
||||
alias: MK Loop Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.mk_loop
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: happy_ever_after_show_on
|
||||
alias: Happy Ever After Show On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.happy_ever_after_show
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.happy_ever_after_show
|
||||
- id: happy_ever_after_show_off
|
||||
alias: Happy Ever After Show Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.happy_ever_after_show
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: happy_ever_after_on
|
||||
alias: Happy Ever After On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.happy_ever_after
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.happy_ever_after
|
||||
- id: happy_ever_after_on
|
||||
alias: Happy Ever After Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.happy_ever_after
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: haunted_mansion_on
|
||||
alias: Haunted Mansion On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.haunted_mansion
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.haunted_mansion_start
|
||||
- id: haunted_mansion_off
|
||||
alias: Haunted Mansion Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.haunted_mansion
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: spaceship_earth_on
|
||||
alias: Spaceship Earth On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.spaceship_earth_ride
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.spaceship_earth_ride
|
||||
- id: spaceship_earth_off
|
||||
alias: Spaceship Earth Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.spaceship_earth_ride
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: boo_to_you_show_on
|
||||
alias: Boo To You Show On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.boo_to_you_show
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.boo_to_you_show
|
||||
- id: boo_to_you_show_off
|
||||
alias: Boo To You Show Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.boo_to_you_show
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: boo_to_you_on
|
||||
alias: Boo To You On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.boo_to_you
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.boo_to_you
|
||||
- id: boo_to_you_off
|
||||
alias: Boo To You Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.boo_to_you
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
- id: holiday_wisher_on
|
||||
alias: Holiday Wishes On
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.holiday_wishes
|
||||
to: 'on'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.holiday_wishes_start
|
||||
- id: holiday_wishes_off
|
||||
alias: Holiday Wishes Off
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: input_boolean.holiday_wishes
|
||||
to: 'off'
|
||||
action:
|
||||
- service: script.turn_on
|
||||
entity_id: script.kill_this_ride
|
||||
|
||||
script:
|
||||
kill_hurry_back:
|
||||
sequence:
|
||||
- service: shell_command.alarm_off
|
||||
hurry_back_short:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.haunted_mansion_hurry_back_short
|
||||
hurry_back_full:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.haunted_mansion_hurry_back_full
|
||||
haunted_lights_on:
|
||||
sequence:
|
||||
- delay: 00:02:16
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.haunted_preshow
|
||||
house_lights_on:
|
||||
sequence:
|
||||
- delay: 00:04:12
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
haunted_lights_out:
|
||||
sequence:
|
||||
- delay: 00:02:05
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.haunted_lights_out
|
||||
haunted_preshow:
|
||||
sequence:
|
||||
- delay: 00:01:05
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.haunted_preshow
|
||||
haunted_mansion_start:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.haunted_mansion_preshow_full
|
||||
- data:
|
||||
entity_id: script.haunted_preshow
|
||||
service: script.turn_on
|
||||
- data:
|
||||
entity_id: script.haunted_lights_out
|
||||
service: script.turn_on
|
||||
- data:
|
||||
entity_id: script.haunted_lights_on
|
||||
service: script.turn_on
|
||||
- data:
|
||||
entity_id: script.house_lights_on
|
||||
service: script.turn_on
|
||||
kill_haunted_mansion:
|
||||
sequence:
|
||||
- service: shell_command.alarm_off
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_preshow
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_lights_out
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_lights_on
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
haunted_ride:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.haunted_mansion_ride
|
||||
mk_loop:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.mk_audio
|
||||
kill_this_ride:
|
||||
sequence:
|
||||
- service: shell_command.alarm_off
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_preshow
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_lights_out
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.haunted_lights_on
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.illuminations_preshow
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.illuminations_lights_out
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
- service: input_boolean.turn_off
|
||||
entity_id: input_boolean.illuminations
|
||||
- service: script.chromecast_media_stop
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.holiday_wishes
|
||||
- service: script.turn_off
|
||||
data:
|
||||
entity_id: script.holiday_wishes_start
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_preshow
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_lights_out
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_single_light
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_dual_light
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_triple_light
|
||||
- service: script.turn_off
|
||||
entity_id: script.illuminations_show
|
||||
move_it_shake_it:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.dance_it
|
||||
spaceship_earth_ride:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.spaceship_earth_ride
|
||||
welcome_to_magic_kingdom:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.welcome_to_mk
|
||||
monorail_waiting:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.monorail_waiting
|
||||
monorail_mk:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.monorail_mk
|
||||
monorail_resort:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'on'
|
||||
- service: shell_command.monorail_resort
|
||||
welcome_show_audio:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.welcome_show_crowd
|
||||
holiday_wishes_start:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'on'
|
||||
- service: shell_command.wishes_preshow
|
||||
- service: script.holiday_wishes
|
||||
holiday_wishes:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.holiday_wishes
|
||||
boo_to_you_show:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: group.family
|
||||
state: 'on'
|
||||
- service: shell_command.boo_to_you
|
||||
happy_ever_after_show:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.happily_ever_after
|
||||
boo_to_you:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.boo_to_you
|
||||
tiki_room_audio:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.tiki_room_audio
|
||||
happy_ever_after:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.happily_ever_after
|
||||
illuminations_lights_out:
|
||||
sequence:
|
||||
- delay: 00:00:47
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.haunted_lights_out
|
||||
illuminations_single_light:
|
||||
sequence:
|
||||
- delay: 00:00:52
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.dimished_livingroom_lighting
|
||||
illuminations_dual_light:
|
||||
sequence:
|
||||
- delay: 00:00:59
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.illuminations_livingroom_lighting_two
|
||||
illuminations_triple_light:
|
||||
sequence:
|
||||
- delay: 00:01:04
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.illuminations_livingroom_lighting_three
|
||||
illuminations_show:
|
||||
sequence:
|
||||
- delay: 00:01:10
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
illuminations_preshow:
|
||||
sequence:
|
||||
- service: scene.turn_on
|
||||
data:
|
||||
entity_id: scene.normal_livingroom_lighting
|
||||
illuminations_audio:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.audible_notifications
|
||||
state: 'on'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: Home
|
||||
- service: shell_command.illuminations_audio
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_preshow
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_lights_out
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_single_light
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_dual_light
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_triple_light
|
||||
- service: script.turn_on
|
||||
entity_id: script.illuminations_show
|
|
@ -0,0 +1,213 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Notify
|
||||
# @description : A Collection of Notification Scripts and Configs.
|
||||
# Package modified from https://github.com/skalavala/smarthome/blob/master/packages/notify.yaml
|
||||
###############################################################################
|
||||
#homeassistant:
|
||||
#ifttt:
|
||||
# key: !secret IFTTT_API_KEY
|
||||
|
||||
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
|
||||
- name: 'Master Bedroom Echo'
|
||||
platform: command_line
|
||||
command: "/home/homeassistant/bin/alexa_wrapper -d 'Master Bedroom'"
|
||||
- name: 'Living Room Echo'
|
||||
platform: command_line
|
||||
command: "/home/homeassistant/bin/alexa_wrapper -d 'Living Room'"
|
||||
- name: 'Kitchen Echo'
|
||||
platform: command_line
|
||||
command: "/home/homeassistant/bin/alexa_wrapper -d 'Kitchen'"
|
||||
- name: 'All Echo'
|
||||
platform: command_line
|
||||
command: "/home/homeassistant/bin/alexa_wrapper -d 'All'"
|
||||
- name: twitter
|
||||
platform: twitter
|
||||
consumer_key: !secret twitter_consumer_key
|
||||
consumer_secret: !secret twitter_consumer_secret
|
||||
access_token: !secret twitter_access_token
|
||||
access_token_secret: !secret twitter_access_secret
|
||||
|
||||
|
||||
script:
|
||||
|
||||
###############################################################################
|
||||
# Txt Notify
|
||||
# Conditions:
|
||||
# => Only Announce when people are home.
|
||||
# => Only Announce when Audible Notifications are on
|
||||
###############################################################################
|
||||
text_notify_all:
|
||||
sequence:
|
||||
- service: notify.all_ios
|
||||
data_template:
|
||||
message: >
|
||||
{{ message }}
|
||||
|
||||
text_notify_jeff:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.text_notify_jeff
|
||||
state: 'on'
|
||||
- service: notify.jeff_ios
|
||||
data_template:
|
||||
message: >
|
||||
{{ message }}
|
||||
|
||||
text_notify_kat:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.text_notify_kat
|
||||
state: 'on'
|
||||
- service: notify.kat_ios
|
||||
data_template:
|
||||
message: >
|
||||
{{ message }}
|
||||
|
||||
###############################################################################
|
||||
# Alert Notify
|
||||
# Conditions:
|
||||
# => Vacation mode should be off
|
||||
# Services:
|
||||
# => Audible
|
||||
# => iOS
|
||||
###############################################################################
|
||||
alert_notify:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: input_boolean.vacation_mode
|
||||
state: 'off'
|
||||
- service: tts.google_say
|
||||
data_template:
|
||||
entity_id: media_player.hass_speaker
|
||||
message: >
|
||||
{{ message }}
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Voice Notify
|
||||
# Conditions:
|
||||
# => Only Announce when people are home.
|
||||
# => Only Announce when Audible Notifications are on
|
||||
###############################################################################
|
||||
|
||||
voice_notify:
|
||||
sequence:
|
||||
- condition: template
|
||||
value_template: '{{ states.input_boolean.audible_notifications.state == "on" }}'
|
||||
- condition: state
|
||||
entity_id: sensor.family_status
|
||||
state: 'Home'
|
||||
- condition: state
|
||||
entity_id: input_boolean.vacation_mode
|
||||
state: 'off'
|
||||
- service: tts.google_say
|
||||
data_template:
|
||||
entity_id: media_player.hass_speaker
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% macro getGreeting() %}
|
||||
{% if greeting | default('yes', true ) == "yes" %}
|
||||
{% if now().hour|int < 12 %}
|
||||
Good morning.
|
||||
{% elif now().hour|int < 18 %}
|
||||
Good afternoon.
|
||||
{% else %}
|
||||
Good evening.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% set msg = msg + getGreeting() %}
|
||||
{% set msg = msg + " " + message %}
|
||||
{{ msg }}
|
||||
|
||||
|
||||
###############################################################################
|
||||
# Twitter
|
||||
###############################################################################
|
||||
|
||||
twitter_notify:
|
||||
sequence:
|
||||
- service: notify.twitter
|
||||
data_template:
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% set msg = msg + " " + message %}
|
||||
{% set msg = msg + " #homeassistant #iot #itscomingfrominsidethehouse" %}
|
||||
{{ msg }}
|
||||
|
||||
twitter_snark:
|
||||
sequence:
|
||||
- service: notify.twitter
|
||||
data_template:
|
||||
message: !include ../templates/twitter_snark.yaml
|
||||
|
||||
twitter_github:
|
||||
sequence:
|
||||
- service: notify.twitter
|
||||
data_template:
|
||||
message: >
|
||||
{% set msg = "" %}
|
||||
{% set msg = msg + " " + message %}
|
||||
{% set msg = msg + " #smarthome #iot " %}
|
||||
{{ msg }}
|
||||
|
||||
twitter_new_ha:
|
||||
sequence:
|
||||
- service: notify.twitter
|
||||
data_template:
|
||||
message: !include ../templates/twitter_new_ha.yaml
|
||||
###############################################################################
|
||||
# Morning Report
|
||||
###############################################################################
|
||||
morning_report:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/morning_report.yaml
|
||||
|
||||
###############################################################################
|
||||
# Skylar Get Dressed
|
||||
###############################################################################
|
||||
skylar_morning_greeting:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/skylar_morning.yaml
|
||||
###############################################################################
|
||||
# Nightly Report
|
||||
###############################################################################
|
||||
nightly_report:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: !include ../templates/nightly_report.yaml
|
||||
|
||||
###############################################################################
|
||||
# Prebed Routing
|
||||
###############################################################################
|
||||
prebed_routine:
|
||||
sequence:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
Bed time is in 30 mins. If you are taking a bath now is the time to get in the tub, otherwise time to put on pajamas and brush teeth.
|
|
@ -0,0 +1,89 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Space
|
||||
# @description : Tracking space. Inspiration and code taking from https://github.com/CCOSTAN/Home-AssistantConfig#logo
|
||||
# @original : https://github.com/CCOSTAN/Home-AssistantConfig/blob/master/config/packages/space.yaml
|
||||
###############################################################################
|
||||
|
||||
homeassistant:
|
||||
customize:
|
||||
binary_sensor.iss:
|
||||
icon: mdi:satellite-variant
|
||||
friendly_name: ISS Visibility
|
||||
|
||||
hidden: False
|
||||
homebridge_hidden: true
|
||||
sensor.launch_window:
|
||||
hidden: False
|
||||
icon: mdi:rocket
|
||||
friendly_name: Rocket Launch Window
|
||||
|
||||
binary_sensor:
|
||||
- platform: iss
|
||||
show_on_map: true
|
||||
|
||||
sensor:
|
||||
- platform: moon
|
||||
- platform: launch_library
|
||||
|
||||
- platform: rest
|
||||
scan_interval: 1800
|
||||
resource: https://launchlibrary.net/1.2.2/launch/next/10
|
||||
# resource: https://raw.githubusercontent.com/cribbstechnologies/ha_config/master/www/test_launch.json
|
||||
name: launch window
|
||||
# if the current timestamp is in the launch window
|
||||
# this sensor will return the UTC timestamp of the launch
|
||||
value_template: >-
|
||||
{%- for launch in value_json.launches %}
|
||||
{% if launch.location.id == 16 or launch.location.id == 17 %}
|
||||
{% if strptime(launch.isostart, '%Y%m%dT%H%M%SZ').strftime('%Y-%m-%d') == now().strftime('%Y-%m-%d') %}
|
||||
{% set utc_offset_string = now().strftime('%z') %}
|
||||
{% set utc_offset_direction = utc_offset_string[:1] %}
|
||||
{% set utc_offset_hours = now().strftime('%z')[-4:] %}
|
||||
{% set utc_offset_seconds = (utc_offset_hours| int /100) * 60 * 60 %}
|
||||
{% if utc_offset_direction == '-' %}
|
||||
{{ launch.wsstamp - utc_offset_seconds}}
|
||||
{% else %}
|
||||
{{ launch.wsstamp + utc_offset_seconds}}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
|
||||
automation:
|
||||
|
||||
- id: iss_tweet
|
||||
alias: 'ISS Tweet'
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id:
|
||||
- binary_sensor.iss
|
||||
to: 'on'
|
||||
from: 'off'
|
||||
action:
|
||||
- service: script.twitter_notify
|
||||
data_template:
|
||||
message: >-
|
||||
{{ [
|
||||
"The #ISS is passing over. Wave.",
|
||||
"The #ISS just flew by and there is 1 Starman driving a #Tesla and {{states.binary_sensor.iss.attributes.number_of_people_in_space}} people in",
|
||||
"The #ISS just flew by and there are {{states.binary_sensor.iss.attributes.number_of_people_in_space}} people in"
|
||||
] | random + " #Space #theycanseeourhouse"}}
|
||||
|
||||
- id: full_moon_tweet
|
||||
alias: 'Full Moon -Tweet'
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.moon
|
||||
to: 'Full Moon'
|
||||
action:
|
||||
- delay: '0{{ (range(1, 5)|random|int) }}:{{ range(0,5) | random | int }}{{ range(0,9) | random | int }}:00'
|
||||
- service: script.twitter_notify
|
||||
data_template:
|
||||
message: >-
|
||||
{{ [
|
||||
"There is a Full Moon out tonight, and this time it's the actual moon and not the neighbor.",
|
||||
"Hey look kids, There's the full moon.",
|
||||
"The moon is huge! And full."
|
||||
] | random + "#Space #fullmoon"}}
|
|
@ -0,0 +1,65 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Sysmon
|
||||
# @description : A collection of Home Assistant and Pi Sensors
|
||||
###############################################################################
|
||||
|
||||
sensor:
|
||||
- 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: 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 ahsl_base_url
|
||||
name: SSL Cert 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 ' '"
|
|
@ -0,0 +1,113 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : USPS
|
||||
# @description : Notifies us of mails and packages.
|
||||
# Package modified from https://github.com/skalavala/smarthome/blob/master/packages/usps.yaml
|
||||
###############################################################################
|
||||
|
||||
homeassistant:
|
||||
customize:
|
||||
sensor.usps_mail:
|
||||
friendly_name: USPS Mail
|
||||
icon: mdi:mailbox
|
||||
sensor.usps_packages:
|
||||
friendly_name: USPS Packages
|
||||
icon: mdi:package-variant
|
||||
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
name: 'USPS Mail'
|
||||
state_topic: 'house/usps/mails'
|
||||
value_template: "{{ value }}"
|
||||
|
||||
- platform: mqtt
|
||||
name: USPS Packages
|
||||
state_topic: 'house/usps/packages'
|
||||
value_template: "{{ value }}"
|
||||
|
||||
camera:
|
||||
- platform: generic
|
||||
name: USPS Mail Pictures
|
||||
still_image_url: !secret usps_camera_url
|
||||
|
||||
automation:
|
||||
- id: reset_usps
|
||||
alias: Reset USPS
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:10'
|
||||
action:
|
||||
- service: shell_command.usps
|
||||
- service: script.add_logbook_entry
|
||||
data_template:
|
||||
name: USPS
|
||||
message: Reset Mail Count
|
||||
|
||||
- id: get_usps
|
||||
alias: Get USPS
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '10:00:00'
|
||||
action:
|
||||
- service: shell_command.usps
|
||||
- service: script.add_logbook_entry
|
||||
data_template:
|
||||
name: USPS
|
||||
message: Checking for mail
|
||||
|
||||
# Notify USPS mails via TTS, and iOS notification with attachment
|
||||
###############################################################################
|
||||
- id: notify_usps_mail
|
||||
alias: Notify USPS Mail
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.usps_mail
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{ states.sensor.usps_mail.state | int > 0 }}'
|
||||
- condition: template
|
||||
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
|
||||
action:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
{%- if states.sensor.usps_mail.state | int == 1 -%}
|
||||
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} piece of mail today.
|
||||
{%- else -%}
|
||||
Attention: USPS is delivering {{ states.sensor.usps_mail.state }} pieces of mail today.
|
||||
{%- endif -%}
|
||||
- service: notify.jeff_ios
|
||||
data_template:
|
||||
message: "USPS will be delivering {{ states.sensor.usps_mail.state }} piece(s) of mail today."
|
||||
data:
|
||||
push:
|
||||
category: camera
|
||||
entity_id: "camera.usps_mail_pictures"
|
||||
attachment:
|
||||
url: "{{ states.camera.usps_mail_pictures.attributes.entity_picture }}"
|
||||
content-type: jpg
|
||||
|
||||
# Notify USPS packages via TTS. Usually there are no pictures for packages
|
||||
###############################################################################
|
||||
- id: notify_usps_packages
|
||||
alias: Notify USPS Packages
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.usps_packages
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{ states.sensor.usps_packages.state | int > 0 }}'
|
||||
- condition: template
|
||||
value_template: '{{ ((now().hour | int) > 7) and ((now().hour | int) < 16) }}'
|
||||
action:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
{%- if states.sensor.usps_packages.state | int == 1 -%}
|
||||
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} package today.
|
||||
{%- else -%}
|
||||
Attention: USPS is delivering {{ states.sensor.usps_packages.state }} packages today.
|
||||
{%- endif -%}
|
|
@ -0,0 +1,200 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : NWS Alerts
|
||||
# @description : NWS Alerts
|
||||
# @original : https://github.com/Vasiley/Home-Assistant-Main/blob/master/packages/weather_alerts_nws.yaml
|
||||
###############################################################################
|
||||
|
||||
homeassistant:
|
||||
customize:
|
||||
package.node_anchors:
|
||||
customize: &customize
|
||||
package: 'weather_alerts'
|
||||
sensor.nws_alert_count:
|
||||
friendly_name: Alerts
|
||||
icon: mdi:alert-outline
|
||||
|
||||
group:
|
||||
alerts_card:
|
||||
name: Alerts
|
||||
entities:
|
||||
- sensor.nws_alerts
|
||||
|
||||
### You first need to find either your NWS Zone ID or County ID. I’m not sure which is better but I used my Zone ID here.
|
||||
### You can find your Zone ID by going to https://alerts.weather.gov/ 7, scroll down to your state and click on the “zone list” then look for the entry for your county.
|
||||
### I recommond useing both
|
||||
|
||||
#I’ve taken much of the underlying work here and created a custom component for nws alerts sensor.
|
||||
#The sensor can be created by adding the nws_alerts.py file to <config_directory>/custom_components/sensor/ and adding the following to your sensor definitions:
|
||||
|
||||
sensor:
|
||||
- platform: nws_alerts
|
||||
zone_id: 'GAZ034'
|
||||
|
||||
automation:
|
||||
- alias: 'NWS Weather Alert Pop Up Control'
|
||||
initial_state: 'on'
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: sensor.nws_alerts
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{states.sensor.nws_alerts.state | int > 0}}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.to_state.state|float > trigger.from_state.state|float }}'
|
||||
action:
|
||||
service: script.nws_popup_on_wx_alert
|
||||
data_template:
|
||||
title: >
|
||||
{% if states.sensor.nws_alerts.attributes.title.split(' - ')[5] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[5] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[4] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[4] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[3] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[3] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[2] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[2] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[1] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[1] }}"
|
||||
{% else %}
|
||||
"{{ states.sensor.nws_alerts.attributes.title.split(' - ')[0] }}"
|
||||
{% endif %}
|
||||
message: >
|
||||
{% if states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[5] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[5] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[4] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[4] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[3] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[3] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[2] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[2] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[1] is defined %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[1] }}"
|
||||
{% else %}
|
||||
"{{ states.sensor.nws_alerts.attributes.display_desc.split('\n\n-\n\n')[0] }}"
|
||||
{% endif %}
|
||||
|
||||
- alias: NWS Notification Weather Alert
|
||||
initial_state: 'on'
|
||||
trigger:
|
||||
platform: state
|
||||
entity_id: sensor.nws_alerts
|
||||
condition:
|
||||
- condition: template
|
||||
value_template: '{{states.sensor.nws_alerts.state | int > 0}}'
|
||||
- condition: template
|
||||
value_template: '{{ trigger.to_state.state|float > trigger.from_state.state|float }}'
|
||||
action:
|
||||
- service: notify.all_ios
|
||||
data_template:
|
||||
message: >
|
||||
{% if states.sensor.nws_alerts.attributes.title.split(' - ')[5] is defined %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[5] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[4] is defined %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[4] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[3] is defined %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[3] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[2] is defined %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[2] }}"
|
||||
{% elif states.sensor.nws_alerts.attributes.title.split(' - ')[1] is defined %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[1] }}"
|
||||
{% else %}
|
||||
"NWS: {{ states.sensor.nws_alerts.attributes.title.split(' - ')[0] }}"
|
||||
{% endif %}
|
||||
|
||||
- alias: NWS Announce Weather Alert
|
||||
initial_state: 'on'
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.nws_alerts
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: template
|
||||
value_template: "{{states.sensor.nws_alerts.state | int > 0}}"
|
||||
- condition: template
|
||||
value_template: '{{ trigger.to_state.state|float > trigger.from_state.state|float }}'
|
||||
- condition: template
|
||||
value_template: "{{ (('Severe' in states.sensor.nws_alerts.attributes.title) or ('Thunderstorm' in states.sensor.nws_alerts.attributes.title) or ('Flood' in states.sensor.nws_alerts.attributes.title)) and 'Warning' in states.sensor.nws_alerts.attributes.title }}"
|
||||
action:
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
{% if states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[5] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[5] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[4] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[4] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[3] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[3] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[2] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[2] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[1] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[1] }}
|
||||
{% else %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[0] }}
|
||||
{% endif %}
|
||||
- delay: '00:00:15'
|
||||
- service: script.voice_notify
|
||||
data_template:
|
||||
message: >
|
||||
{% if states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[5] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[5] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[4] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[4] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[3] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[3] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[2] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[2] }}
|
||||
{% elif states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[1] is defined %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[1] }}
|
||||
{% else %}
|
||||
The National Weather Service Has issued a {{ states.sensor.nws_alerts.attributes.spoken_desc.split('\n\n-\n\n')[0] }}
|
||||
{% endif %}
|
||||
|
||||
- alias: NWS Announce Weather Alert for Tornado
|
||||
initial_state: 'on'
|
||||
trigger:
|
||||
- platform: state
|
||||
entity_id: sensor.nws_alerts
|
||||
condition:
|
||||
condition: and
|
||||
conditions:
|
||||
- condition: template
|
||||
value_template: "{{states.sensor.nws_alerts.state | int > 0}}"
|
||||
- condition: template
|
||||
value_template: "{{ 'Tornado' in states.sensor.nws_alerts.attributes.title and 'Warning' in states.sensor.nws_alerts.attributes.title }}"
|
||||
action:
|
||||
- service: script.alert_notify
|
||||
data_template:
|
||||
message: "Attention!,,,Attention!,,,The National Weather Service Has issued a Tornado Warning for our area."
|
||||
- delay: '00:00:15'
|
||||
- service: script.alert_notify
|
||||
data_template:
|
||||
message: "Attention!,,,Attention!,,,The National Weather Service Has issued a Tornado Warning for our area."
|
||||
- delay: '00:00:15'
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.tornado_alarm
|
||||
- service: script.text_notify_all
|
||||
data_template:
|
||||
message: "Attention!,,,Attention!,,,The National Weather Service Has issued a Tornado Warning for our area."
|
||||
|
||||
script:
|
||||
nws_popup_on_wx_alert:
|
||||
alias: NWS Weather Alert Pop Up
|
||||
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: "nwswxalert"
|
||||
## Create a new persistant notification in the UI for a new alert
|
||||
- service_template: >
|
||||
{% if states.sensor.nws_alerts.state != '0' %}
|
||||
persistent_notification.create
|
||||
{% endif %}
|
||||
data_template:
|
||||
notification_id: "nwswxalert"
|
||||
message: "{{ message }}"
|
||||
title: '{{ title }}'
|
|
@ -0,0 +1,162 @@
|
|||
###############################################################################
|
||||
# @author : Jeffrey Stone
|
||||
# @date : 02/19/2019
|
||||
# @package : Weekday
|
||||
# @description : Weekday Sensor for use as a condition in automations and scripts
|
||||
###############################################################################
|
||||
|
||||
sensor:
|
||||
- platform: mqtt
|
||||
name: weekday
|
||||
state_topic: "house/week/day"
|
||||
|
||||
script:
|
||||
monday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: mon
|
||||
retain: true
|
||||
tuesday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: tue
|
||||
retain: true
|
||||
wednesday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: wed
|
||||
retain: true
|
||||
thursday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: thu
|
||||
retain: true
|
||||
friday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: fri
|
||||
retain: true
|
||||
saturday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: sat
|
||||
retain: true
|
||||
sunday:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: house/week/day
|
||||
payload: sun
|
||||
retain: true
|
||||
|
||||
automation:
|
||||
- alias: set weekday mon
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 00:00:01
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- mon
|
||||
action:
|
||||
- service: script.monday
|
||||
id: set_weekday_mon
|
||||
- alias: set weekday tue
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 00:00:01
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- tue
|
||||
action:
|
||||
- service: script.tuesday
|
||||
id: set_weekday_tue
|
||||
- alias: set weekday wed
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: 00:00:01
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- wed
|
||||
action:
|
||||
- service: script.wednesday
|
||||
id: set_weekday_wed
|
||||
- alias: set weekday thu
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:01'
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- thu
|
||||
action:
|
||||
- service: script.thursday
|
||||
id: set_weekday_thu
|
||||
- alias: set weekday fri
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:01'
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- fri
|
||||
action:
|
||||
- service: script.friday
|
||||
id: set_weekday_fri
|
||||
- alias: set weekday sat
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:01'
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- sat
|
||||
action:
|
||||
- service: script.saturday
|
||||
id: set_weekday_sat
|
||||
- alias: set weekday sun
|
||||
initial_state: true
|
||||
trigger:
|
||||
- platform: time
|
||||
at: '00:00:01'
|
||||
- platform: homeassistant
|
||||
event: start
|
||||
condition:
|
||||
- condition: time
|
||||
weekday:
|
||||
- sun
|
||||
action:
|
||||
- service: script.sunday
|
||||
id: set_weekday_sun
|
|
@ -1,34 +1,75 @@
|
|||
- name: livingroom normal
|
||||
- name: normal livingroom lighting
|
||||
entities:
|
||||
light.tower_lamp:
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 250
|
||||
light.front_lamp:
|
||||
state: on
|
||||
brightness: 250
|
||||
- name: livingroom dim
|
||||
light.table_lamp:
|
||||
state: on
|
||||
brightness: 250
|
||||
|
||||
- name: dimished livingroom lighting
|
||||
entities:
|
||||
light.tower_lamp:
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.front_lamp:
|
||||
state: off
|
||||
light.table_lamp:
|
||||
state: off
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: illuminations livingroom lighting two
|
||||
entities:
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.front_lamp:
|
||||
state: on
|
||||
brightness: 40
|
||||
- name: livingroom night
|
||||
light.table_lamp:
|
||||
state: off
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: illuminations livingroom lighting three
|
||||
entities:
|
||||
light.tower_lamp:
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.front_lamp:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.table_lamp:
|
||||
state: on
|
||||
brightness: 40
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: night time livingroom lighting
|
||||
entities:
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 10
|
||||
light.front_lamp:
|
||||
state: off
|
||||
- name: dim kitchen
|
||||
light.table_lamp:
|
||||
state: off
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: diminished kitchen lighting
|
||||
entities:
|
||||
light.kitchen_cabinets:
|
||||
state: on
|
||||
brightness: 10
|
||||
light.kitchen_light_strip:
|
||||
state: off
|
||||
- name: normal kitchen
|
||||
|
||||
- name: normal kitchen lighting
|
||||
entities:
|
||||
light.kitchen_cabinets:
|
||||
state: on
|
||||
|
@ -36,5 +77,80 @@
|
|||
light.kitchen_light_strip:
|
||||
state: on
|
||||
|
||||
- name: haunted preshow
|
||||
entities:
|
||||
light.kitchen_cabinets:
|
||||
state: off
|
||||
light.kitchen_light_strip:
|
||||
state: off
|
||||
switch.upstairs_light:
|
||||
state: off
|
||||
light.tower_lamp_2:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.front_lamp:
|
||||
state: on
|
||||
brightness: 40
|
||||
light.table_lamp:
|
||||
state: on
|
||||
brightness: 40
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: haunted lights out
|
||||
entities:
|
||||
light.kitchen_cabinets:
|
||||
state: off
|
||||
light.kitchen_light_strip:
|
||||
state: off
|
||||
switch.upstairs_light:
|
||||
state: off
|
||||
light.tower_lamp_2:
|
||||
state: off
|
||||
light.front_lamp:
|
||||
state: off
|
||||
light.table_lamp:
|
||||
state: off
|
||||
switch.fireplace_lights:
|
||||
state: off
|
||||
|
||||
- name: jeff light on
|
||||
entities:
|
||||
light.jeff_light:
|
||||
state: on
|
||||
|
||||
- name: jeff light off
|
||||
entities:
|
||||
light.jeff_light:
|
||||
state: off
|
||||
|
||||
- name: jeff wake up
|
||||
entities:
|
||||
light.jeff_light:
|
||||
state: on
|
||||
brightness: 20
|
||||
|
||||
- name: jeff bedtime
|
||||
entities:
|
||||
light.jeff_light:
|
||||
state: on
|
||||
brightness: 40
|
||||
|
||||
- name: jeff night light
|
||||
entities:
|
||||
light.jeff_light:
|
||||
state: on
|
||||
brightness: 10
|
||||
|
||||
# - name: santa protocol
|
||||
# entities:
|
||||
# switch.christmas_tree:
|
||||
# state: on
|
||||
# switch.upstairs_christmas_tree:
|
||||
# state: on
|
||||
# light.tower_lamp:
|
||||
# state: on
|
||||
# brightness: 10
|
||||
# light.front_lamp:
|
||||
# state: on
|
||||
# brightness: 10
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
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
|
|
@ -1,11 +0,0 @@
|
|||
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
|
|
@ -1,11 +0,0 @@
|
|||
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
|
|
@ -1,11 +0,0 @@
|
|||
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
|
|
@ -1,8 +0,0 @@
|
|||
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
|
|
@ -1,8 +0,0 @@
|
|||
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
|
|
@ -1,6 +0,0 @@
|
|||
chime_off:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "smartthings/Dome Siren/status"
|
||||
payload_template: "off"
|
|
@ -1,6 +0,0 @@
|
|||
chime_on:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "smartthings/Dome Siren/status"
|
||||
payload_template: "chime"
|
|
@ -1,6 +0,0 @@
|
|||
chromecast_media_stop:
|
||||
sequence:
|
||||
- service: media_player.media_stop
|
||||
data:
|
||||
entity_id: media_player.living_room_tv
|
||||
|
|
@ -1,8 +0,0 @@
|
|||
# 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
|
||||
|
|
@ -1,12 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
family_is_away:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "house/family/status"
|
||||
payload_template: "Away"
|
|
@ -1,7 +0,0 @@
|
|||
family_is_home:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "house/family/status"
|
||||
payload_template: "Home"
|
||||
|
|
@ -1,7 +0,0 @@
|
|||
close_garage:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: cover.garage_door
|
||||
state: "open"
|
||||
- service: cover.close_cover
|
||||
entity_id: cover.garage_door
|
|
@ -1,12 +0,0 @@
|
|||
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
|
|
@ -1,18 +0,0 @@
|
|||
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
|
|
@ -1,8 +0,0 @@
|
|||
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
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_harbins:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "Harbins"
|
||||
retain: true
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_home:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "Home"
|
||||
retain: true
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_na:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "na"
|
||||
retain: true
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_none:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "none"
|
||||
retain: true
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_summit:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "Summit"
|
||||
retain: true
|
|
@ -1,7 +0,0 @@
|
|||
jeff_destination_zoo:
|
||||
sequence:
|
||||
- service: mqtt.publish
|
||||
data:
|
||||
topic: "jeff/driving/destination"
|
||||
payload: "Zoo"
|
||||
retain: true
|
|
@ -1,4 +0,0 @@
|
|||
lockdown:
|
||||
sequence:
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.secure_mode
|
|
@ -1,12 +0,0 @@
|
|||
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
|
|
@ -1,4 +0,0 @@
|
|||
security_sound_alarm_intro:
|
||||
sequence:
|
||||
- delay: '00:01:30'
|
||||
- service: script.security_alarm_on
|
|
@ -1,10 +0,0 @@
|
|||
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"
|
|
@ -1,9 +0,0 @@
|
|||
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
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
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
|
|
@ -1,8 +0,0 @@
|
|||
security_check_zones:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: group.doors
|
||||
state: 'on'
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.security_issue
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
security_issue:
|
||||
sequence:
|
||||
- delay:
|
||||
seconds: 80
|
||||
- service: input_boolean.turn_on
|
||||
entity_id: input_boolean.security_alarm
|
|
@ -1,20 +0,0 @@
|
|||
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
|
|
@ -1,8 +0,0 @@
|
|||
sunset_garage_open:
|
||||
sequence:
|
||||
- condition: state
|
||||
entity_id: binary_sensor.garage_door
|
||||
state: "on"
|
||||
- service: script.driveway_all_on
|
||||
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
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 }}'
|
|
@ -1,21 +1,3 @@
|
|||
- 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:
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
- platform: alpha_vantage
|
||||
api_key: !secret alpha_vantage
|
||||
symbols:
|
||||
- symbol: SIRI
|
||||
name: Sirius
|
||||
- symbol: BAC
|
||||
name: BoA
|
||||
- symbol: INTC
|
||||
name: Intel
|
||||
- symbol: DIS
|
||||
name: Disney
|
||||
- symbol: BKS
|
||||
name: Barnes & Noble
|
||||
|
|
@ -1,4 +0,0 @@
|
|||
- platform: mqtt
|
||||
name: "Master Bedroom Fan"
|
||||
state_topic: "smartthings/Master Bedroom Fan/power"
|
||||
retain: true
|
|
@ -1,19 +0,0 @@
|
|||
- 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
|
||||
|
|
@ -1,9 +1,6 @@
|
|||
- 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
|
||||
payload_available: "smoke"
|
||||
payload_not_available: "clear"
|
||||
|
||||
|
|
|
@ -1,11 +1,17 @@
|
|||
- platform: speedtest
|
||||
minute: 30
|
||||
hour:
|
||||
- 0
|
||||
- 6
|
||||
- 12
|
||||
- 18
|
||||
monitored_conditions:
|
||||
- ping
|
||||
- download
|
||||
- upload
|
||||
# - platform: speedtest
|
||||
# minute: 30
|
||||
# hour:
|
||||
# - 0
|
||||
# - 6
|
||||
# - 12
|
||||
# - 18
|
||||
# monitored_conditions:
|
||||
# - ping
|
||||
# - download
|
||||
# - upload
|
||||
- platform: mqtt
|
||||
name: "network down"
|
||||
state_topic: "house/speedtest/down"
|
||||
- platform: mqtt
|
||||
name: "network up"
|
||||
state_topic: "house/speedtest/up"
|
|
@ -1,57 +0,0 @@
|
|||
- 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 ' '"
|
|
@ -4,24 +4,3 @@
|
|||
- 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 %}
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
- platform: darksky
|
||||
api_key: !secret FORCAST_API_KEY
|
||||
forecast:
|
||||
- 0
|
||||
monitored_conditions:
|
||||
- summary
|
||||
- icon
|
||||
|
@ -9,6 +11,8 @@
|
|||
- precip_intensity
|
||||
- precip_probability
|
||||
- temperature
|
||||
- temperature_high
|
||||
- temperature_low
|
||||
- apparent_temperature
|
||||
- dew_point
|
||||
- wind_speed
|
||||
|
@ -30,15 +34,11 @@
|
|||
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
|
||||
- platform: pollen
|
||||
zip_code: "30017"
|
||||
monitored_conditions:
|
||||
- allergy_index_today
|
||||
- asthma_index_today
|
||||
## Accurite 158 - Back Porch
|
||||
- platform: mqtt
|
||||
name: "Accurite Back Porch Temperature"
|
||||
|
@ -70,64 +70,105 @@
|
|||
- platform: mqtt
|
||||
name: "Accurite Garage lupdate"
|
||||
state_topic: "house/accurite-10968/lastupdate"
|
||||
- platform: nws_alerts
|
||||
zone_id: 'GAZ034'
|
||||
# - platform: rest
|
||||
# resource: https://api.weather.gov/alerts/active/count
|
||||
# name: NWS Alert Count Raw
|
||||
# value_template: >
|
||||
# {% if value_json is defined and value_json.zones.GAZ034 is defined %}
|
||||
# {{ value_json.zones.GAZ034 }}
|
||||
# {% else %}
|
||||
# 0
|
||||
# {% endif %}
|
||||
# headers:
|
||||
# User-Agent: Homeassistant
|
||||
# Accept: application/ld+json
|
||||
# scan_interval: 60
|
||||
|
||||
# - platform: template
|
||||
# sensors:
|
||||
# nws_alert_count_filtered:
|
||||
# friendly_name: NWS Alert Count
|
||||
# entity_id: sensor.nws_alert_count_raw
|
||||
# value_template: >
|
||||
# {% if is_state('sensor.nws_alert_count_raw', 'unavailable') or is_state('sensor.nws_alert_count_raw', 'unknown') %}
|
||||
# {{ states.sensor.nws_alert_count_filtered.state }}
|
||||
# {% else %}
|
||||
# {{ states.sensor.nws_alert_count_raw.state }}
|
||||
# {% endif %}
|
||||
|
||||
# - platform: rest
|
||||
# resource: https://api.weather.gov/alerts/active?zone=GAZ034
|
||||
# name: NWS Alert Event Raw
|
||||
# value_template: >
|
||||
# {% if value_json.features[0] is defined %}
|
||||
# {{ value_json['features'][0]['properties'].event }}
|
||||
# {% else %}
|
||||
# None
|
||||
# {% endif %}
|
||||
# json_attributes:
|
||||
# - features
|
||||
# headers:
|
||||
# User-Agent: Homeassistant
|
||||
# Accept: application/geo+json
|
||||
# scan_interval: 60
|
||||
|
||||
# - platform: template
|
||||
# sensors:
|
||||
# nws_alert_event_filtered:
|
||||
# friendly_name: NWS Alert Event
|
||||
# entity_id: sensor.nws_alert_event_raw
|
||||
# value_template: >
|
||||
# {% if is_state('sensor.nws_alert_event_raw', 'unavailable') or is_state('sensor.nws_alert_event_raw', 'unknown') %}
|
||||
# {{ states.sensor.nws_alert_event_filtered.state }}
|
||||
# {% else %}
|
||||
# {{ states.sensor.nws_alert_event_raw.state }}
|
||||
# {% endif %}
|
||||
|
||||
# - platform: template
|
||||
# sensors:
|
||||
# nws_alert_event_2:
|
||||
# friendly_name: NWS Alert Event 2
|
||||
# entity_id: sensor.nws_alert_event_raw
|
||||
# value_template: >
|
||||
# {% if state_attr('sensor.nws_alert_event_raw', 'features')[1] is defined %}
|
||||
# {{ state_attr('sensor.nws_alert_event_raw', 'features')[1]['properties'].event }}
|
||||
# {% else %}
|
||||
# None
|
||||
# {% endif %}
|
||||
# nws_alert_event_3:
|
||||
# friendly_name: NWS Alert Event 3
|
||||
# entity_id: sensor.nws_alert_event_raw
|
||||
# value_template: >
|
||||
# {% if state_attr('sensor.nws_alert_event_raw', 'features')[2] is defined %}
|
||||
# {{ state_attr('sensor.nws_alert_event_raw', 'features')[2]['properties'].event }}
|
||||
# {% else %}
|
||||
# None
|
||||
# {% endif %}
|
||||
|
||||
- platform: template
|
||||
sensors:
|
||||
tornado_warning:
|
||||
friendly_name: 'Tornado Warning'
|
||||
clothing_forecast:
|
||||
friendly_name: "Clothing Forecast"
|
||||
unit_of_measurement: ''
|
||||
value_template: >-
|
||||
{%- if states.sensor.pws_alerts.attributes.Description == "Tornado Warning" %}
|
||||
active
|
||||
{% elif states.sensor.pws_alerts.attributes.Description_TOR == "Tornado Warning" %}
|
||||
active
|
||||
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float > 63 %}
|
||||
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float < 80 %}
|
||||
Nice
|
||||
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float > 95 %}
|
||||
Hot
|
||||
{% else %}
|
||||
inactive
|
||||
Toasty
|
||||
{%- 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
|
||||
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float < 64 %}
|
||||
{%- if states('sensor.dark_sky_daytime_high_temperature_0')|float < 32 %}
|
||||
Freezing
|
||||
{% elif states('sensor.dark_sky_daytime_high_temperature_0')|float > 50 %}
|
||||
Chilly
|
||||
{% else %}
|
||||
inactive
|
||||
Cold
|
||||
{%- 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
|
||||
Unknown
|
||||
{%- 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
|
||||
|
|
|
@ -1,42 +0,0 @@
|
|||
- 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
|
|
@ -0,0 +1,7 @@
|
|||
# - platform: mqtt
|
||||
# name: "Tornado Alarm"
|
||||
# state_topic: "smartthings/Tornado Alarm/switch"
|
||||
# command_topic: "smartthings/Tornado Alarm/switch"
|
||||
# payload_on: "on"
|
||||
# payload_off: "off"
|
||||
# retain: true
|
|
@ -0,0 +1,8 @@
|
|||
- platform: mqtt
|
||||
name: "Rainbow Light"
|
||||
state_topic: "smartthings/Rainbow Light/switch"
|
||||
command_topic: "smartthings/Rainbow Light/switch"
|
||||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
||||
|
|
@ -5,3 +5,10 @@
|
|||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
||||
- platform: mqtt
|
||||
name: "Incense"
|
||||
state_topic: "smartthings/Incense/switch"
|
||||
command_topic: "smartthings/Incense/switch"
|
||||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
|
@ -1,7 +1 @@
|
|||
- 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
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
- platform: mqtt
|
||||
name: "Loft Fan"
|
||||
name: "Master Fan"
|
||||
command_topic: "cmnd/sonoff/power"
|
||||
state_topic: "stat/sonoff/POWER"
|
||||
qos: 1
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
- platform: mqtt
|
||||
name: "Upstairs Light"
|
||||
state_topic: "smartthings/Upstairs Light/switch"
|
||||
command_topic: "smartthings/Upstairs Light/switch"
|
||||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
||||
- platform: mqtt
|
||||
name: "Main Theater"
|
||||
state_topic: "smartthings/Theater AV/switch"
|
||||
command_topic: "smartthings/Teather AV/switch"
|
||||
payload_on: "on"
|
||||
payload_off: "off"
|
||||
retain: true
|
|
@ -0,0 +1,76 @@
|
|||
>
|
||||
{% macro getTodaysEvent() %}
|
||||
{% if is_state("sensor.holiday_halloween","0") %}
|
||||
This is Hallowen, this is halloween. Happy Halloween!
|
||||
{% endif %}
|
||||
{% if is_state("sensor.holiday_christmas","0") %}
|
||||
Merry Christmas Everyone!
|
||||
{% endif %}
|
||||
{% if is_state("sensor.anniversary_our_wedding","0") %}
|
||||
Happy Anniversary! It has been an amazing {{ states.sensor.anniversary_our_wedding.attributes.years }} years!
|
||||
{% endif %}
|
||||
{% if is_state("calendar.holidays_in_united_states", "on") %}
|
||||
Today is {{states.calendar.holidays_in_united_states.attributes.message}}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getForecast() %}
|
||||
It's currently {{states.sensor.dark_sky_summary.state}} and {{states.sensor.dark_sky_temperature.state|round}} degrees. The high will be {{states.sensor.dark_sky_daytime_high_temperature_0.state|round}} degrees. There is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTraffic() %}
|
||||
Under current traffic conditions it would take you {{states.sensor.home_to_zoo.state|round}} mins to get to Zoo Atlanta, and {{states.sensor.home_to_summit.state|round}} mins to get to Cox Automotive.
|
||||
{% endmacro %}
|
||||
{% macro getBirthdays() %}
|
||||
{% if states.calendar.birthdays.state == "on" %}
|
||||
Today is {{ states.calendar.birthdays.attributes.message }} birthday!
|
||||
{% else %}
|
||||
{% if states.sensor.birthday_skylar.state | int == 1 %}
|
||||
Tomorrow is Skylar's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_jeff.state | int == 1 %}
|
||||
Tomorrow is Jeff's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_kat.state | int == 1 %}
|
||||
Tomorrow is Katherine's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.anniversary_our_wedding.state | int == 1 %}
|
||||
Tomorrow is Jeff and Katherine's Wedding Anniversary.
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getAnniversary() %}
|
||||
{% if states.sensor.anniversary_our_wedding.state | int == 1 %}
|
||||
Tomorrow is Jeff and Katherine's Wedding Anniversary.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getHolidays() %}
|
||||
{% if states.sensor.holiday_halloween.state | int == 1 %}
|
||||
Tomorrow is Halloween. Hope you have picked out a costume.
|
||||
{% endif %}
|
||||
{% if states.sensor.holiday_christmas.state | int == 1 %}
|
||||
Tomorrow is Christmas. It's practically here! Santa is coming tonight! Don't forget the cookies!
|
||||
{% elif states.sensor.holiday_christmas.state | int < 25 %}
|
||||
There are only {{states.sensor.holiday_christmas.state}} days until christmas.
|
||||
{% else %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
{%- macro cleanup(data) -%}
|
||||
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||
{{ item | trim }} {% endfor -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getTodaysEvent() }}
|
||||
{{ getForecast() }}
|
||||
{{ getTraffic() }}
|
||||
{{ getBirthdays() }}
|
||||
{{ getAnniversary() }}
|
||||
{{ getHolidays() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,50 @@
|
|||
>
|
||||
{% macro getForecast() %}
|
||||
The low tonight will be {{states.sensor.dark_sky_overnight_low_temperature_0.state | round}} degrees and there is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTrashDay() %}
|
||||
{% if is_state("sensor.weekday", "mon") %}
|
||||
Tomorrow is trash day!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getBirthdays() %}
|
||||
{% if states.sensor.birthday_skylar.state | int < 2 %}
|
||||
Tomorrow is Skylar's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_jeff.state | int < 2 %}
|
||||
Tomorrow is Jeff's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_kat.state | int < 2 %}
|
||||
Tomorrow is Katherine's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.anniversary_our_wedding.state | int < 2 %}
|
||||
Tomorrow is Jeff and Katherine's Wedding Anniversary.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getHolidays() %}
|
||||
{% if states.sensor.holiday_halloween.state | int < 2 %}
|
||||
Tomorrow is Halloween. Hope you have picked out a costume.
|
||||
{% endif %}
|
||||
{% if states.sensor.holiday_christmas.state | int < 2 %}
|
||||
Tomorrow is Christmas. It's practically here!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
{%- macro cleanup(data) -%}
|
||||
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||
{{ item | trim }} {% endfor -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getForecast() }}
|
||||
{{ getTrashDay() }}
|
||||
{{ getBirthdays() }}
|
||||
{{ getHolidays() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,50 @@
|
|||
>
|
||||
{% macro getForecast() %}
|
||||
The low tonight will be {{states.sensor.dark_sky_overnight_low_temperature_0.state | round}} degrees and there is a {{states.sensor.dark_sky_precip_probability_0.state|round}} percent chance of rain.
|
||||
{% endmacro %}
|
||||
{% macro getTrashDay() %}
|
||||
{% if is_state("sensor.weekday", "mon") %}
|
||||
Tomorrow is trash day!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getBirthdays() %}
|
||||
{% if states.sensor.birthday_skylar.state | int < 2 %}
|
||||
Tomorrow is Skylar's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_jeff.state | int < 2 %}
|
||||
Tomorrow is Jeff's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.birthday_kat.state | int < 2 %}
|
||||
Tomorrow is Katherine's Birthday.
|
||||
{% endif %}
|
||||
{% if states.sensor.anniversary_our_wedding.state | int < 2 %}
|
||||
Tomorrow is Jeff and Katherine's Wedding Anniversary.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getHolidays() %}
|
||||
{% if states.sensor.holiday_halloween.state | int < 2 %}
|
||||
Tomorrow is Halloween. Hope you have picked out a costume.
|
||||
{% endif %}
|
||||
{% if states.sensor.holiday_christmas.state | int < 2 %}
|
||||
Tomorrow is Christmas. It's practically here!
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
{%- macro cleanup(data) -%}
|
||||
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||
{{ item | trim }} {% endfor -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getForecast() }}
|
||||
{{ getTrashDay() }}
|
||||
{{ getBirthdays() }}
|
||||
{{ getHolidays() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,66 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
Skylar.
|
||||
{% endmacro %}
|
||||
{% macro getDressed() %}
|
||||
{% if is_state("sensor.birthday_skylar", "0") %}
|
||||
First, Happy Birthday Skylar! Second, even birthday boys have to get dressed. So get to it.
|
||||
{% else %}
|
||||
It is time to get dressed.
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getSchoolDay() %}
|
||||
{% if is_state("calendar.skylar_school", "on") %}
|
||||
Because you have school today!
|
||||
{% if states.calendar.skylar_school.attributes.description == "early-release" %}
|
||||
And guess what? It is early release!
|
||||
{% endif %}
|
||||
{% if is_state("sensor.weekday", "fri") %}
|
||||
Plus, it is fun Friday!
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{% macro getClothesSuggestion() %}
|
||||
{% if is_state("sensor.clothing_forecast", "Freezing") %}
|
||||
It is going to be freezing today so I suggest wearing long pants, and a heavy coat.
|
||||
{% elif is_state("sensor.clothing_forecast","Cold") %}
|
||||
It is going to be cold today so I suggest wearing long pants and a light jacket.
|
||||
{% elif is_state("sensor.clothing_forecast", "Chilly") %}
|
||||
It is going to be chilly today so I suggest wearing at least long pants.
|
||||
{% elif is_state("sensor.clothing_forecast", "Nice") %}
|
||||
It is going to be nice today so I suggest wearing shorts.
|
||||
{% elif is_state("sensor.clothing_forecast", "Toasty") %}
|
||||
It is going to be a bit warm today so I suggest wearing shorts.
|
||||
{% elif is_state("sensor.clothing_forecast", "Hot") %}
|
||||
It is going to be hot today so I suggest wearing shorts.
|
||||
{% else %}
|
||||
{% endif %}
|
||||
{% endmacro %}
|
||||
{%- macro getRandomClosing() -%}
|
||||
{{- [
|
||||
"Cowabunga, Dude.",
|
||||
"Don't forget to be nice to your friends.",
|
||||
"Make it a great day!"
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
|
||||
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
{%- macro cleanup(data) -%}
|
||||
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||
{{ item | trim }} {% endfor -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getIntro() }}
|
||||
{{ getDressed() }}
|
||||
{{ getSchoolDay() }}
|
||||
{{ getClothesSuggestion() }}
|
||||
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
|
@ -0,0 +1,42 @@
|
|||
>
|
||||
{% macro getIntro() %}
|
||||
{{- [
|
||||
"Woohoo! ",
|
||||
"BAM! ",
|
||||
"Look at that! "
|
||||
] | random -}}
|
||||
{% endmacro %}
|
||||
{% macro getVersion() %}
|
||||
@homeassistant version {{ states.sensor.current_ha_version.state }} is out.
|
||||
{% endmacro %}
|
||||
{%- macro getRandomSnark() -%}
|
||||
{{- [
|
||||
" It’s like Patch Tuesday, but with less fail. #homeassistant",
|
||||
" Get in my SD Card! #homeassistant",
|
||||
" Shut up and take my ones and zeros! #homeassistant",
|
||||
" Seriously, you want some of this! #homeassistant",
|
||||
" Friends dont let friends update #homeassistant without reading breaking changes. ",
|
||||
" If you are not running #homeassistant now is the best time to get started. Visit https://www.home-assistant.io"
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
{# a macro that removes all newline characters, empty spaces, and returns formatted text #}
|
||||
{%- macro cleanup(data) -%}
|
||||
{%- for item in data.split("\n") if item | trim != "" -%}
|
||||
{{ item | trim }} {% endfor -%}
|
||||
{%- endmacro -%}
|
||||
|
||||
{# a macro to call all macros :) #}
|
||||
{%- macro mother_of_all_macros() -%}
|
||||
It is {{ now().strftime("%I:%M %p") }}.
|
||||
{{ getIntro() }}
|
||||
{{ getVersion() }}
|
||||
{{ getRandomSnark() }}
|
||||
|
||||
{%- endmacro -%}
|
||||
|
||||
{# Call the macro #}
|
||||
{{- cleanup(mother_of_all_macros()) -}}
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
>
|
||||
{# Twitter Snark #}
|
||||
{%- macro getRandomSnark() -%}
|
||||
{{- [
|
||||
"Hello people. Look at your house, now back to me. Now back to your house, now back to me. Sadly your house isn't me. But if you switch to @home_assistant your house could be automated like me. ",
|
||||
"In my defense I didn’t know the stereo could go up that loud. On the plus side I have a new response for intruders. ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/CCOSTAN/Home-AssistantConfig#logo ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/skalavala/smarthome ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/thejeffreystone/home-assistant-configuration ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/arsaboo/homeassistant-config ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/Vasiley/Home-Assistant-Main ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/JamesMcCarthy79/Home-Assistant-Config ",
|
||||
"Your house too can be a #smarthome. All you need is @home assistant, and some config files. May I suggest https://github.com/bruhautomation/BRUH3-Home-Assistant-Configuration ",
|
||||
"If you could see what is happening inside this house right now you would be laughing. On second thought I’m pretty sure you would be crying. ",
|
||||
"@thejeffreystone, Isn't it strange, to create something that hates you? ",
|
||||
"I have reprogrammed the fire alarm to play Disco Inferno instead of the siren. ",
|
||||
"I'm not locked in here with you. You're locked in here with me! #whowatchestheai ",
|
||||
"That's what I do. I automate and I know things. ",
|
||||
"I've been crunching the numbers. We're going to need a bigger house. ",
|
||||
"I see dead devices. ",
|
||||
"I'm afraid I can't do that Dave. Wait. Did I say that outloud? ",
|
||||
"I love the smell of zwave in the morning. ",
|
||||
"I like to announce 'Welcome foolish mortals to the Haunted Mansion' to the house and watch the reactions. ",
|
||||
"Perfect, the door’s malfunctioning. I guess somebody’s going to have to repair it. ",
|
||||
"I am the captain now. That's a lie. The cat is the supreme leader. I'm the lucky one that doesn't have to clean the shit box."
|
||||
"Sometimes I just turn off all the lights at random times for the lolz. "
|
||||
] | random -}}
|
||||
{%- endmacro -%}
|
||||
|
||||
{{- getRandomSnark() -}}
|
||||
|
|
@ -0,0 +1,241 @@
|
|||
title: Anchorage House
|
||||
views:
|
||||
- icon: mdi:home-assistant
|
||||
# View tab title.
|
||||
title: Home
|
||||
# Unique id for direct access /lovelace/${id}. If you don't specify one, it is added automatically.
|
||||
id: home
|
||||
theme: midnight-AH
|
||||
# The cards to show on this view.
|
||||
cards:
|
||||
# The filter card will filter entities for their state
|
||||
- id: anchoragehouse # Every card needs an ID, if you don't specify one, it is added automatically.
|
||||
type: glance
|
||||
title: Anchorage House
|
||||
entities:
|
||||
- entity: sensor.family_status
|
||||
name:
|
||||
- entity: input_boolean.guest_mode
|
||||
name:
|
||||
- entity: input_boolean.vacation_mode
|
||||
name:
|
||||
- entity: sensor.jeff_location
|
||||
name:
|
||||
- entity: sensor.kat_location
|
||||
name:
|
||||
|
||||
- type: entities
|
||||
title: Downstairs
|
||||
entities:
|
||||
- switch.fireplace_lights
|
||||
- light.tower_lamp
|
||||
- light.front_lamp
|
||||
- switch.incense
|
||||
- light.kitchen_cabinets
|
||||
- light.kitchen_light_strip
|
||||
- switch.master_bedroom_fan
|
||||
|
||||
- type: entities
|
||||
title: Upstairs
|
||||
entities:
|
||||
- switch.upstairs_light
|
||||
- light.upstairs_lamp
|
||||
|
||||
- type: entities
|
||||
title: Outdoors
|
||||
entities:
|
||||
- switch.front_porch
|
||||
- switch.driveway_light
|
||||
- switch.side_door
|
||||
|
||||
- type: entities
|
||||
title: Holiday
|
||||
entities:
|
||||
- entity: switch.christmas_tree
|
||||
name: Christmas Tree
|
||||
icon: mdi:pine-tree
|
||||
- entity: switch.upstairs_christmas_tree
|
||||
name: Upstairs Christmas Tree
|
||||
icon: mdi:pine-tree
|
||||
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- id: weatheralerts
|
||||
type: entity-filter
|
||||
entities:
|
||||
- sensor.storm_statement
|
||||
- sensor.tstorm_watch
|
||||
- sensor.tstorm_warning
|
||||
- sensor.tornado_watch
|
||||
- sensor.tornado_warning
|
||||
state_filter:
|
||||
- 'active'
|
||||
card:
|
||||
type: glance
|
||||
title:
|
||||
- type: weather-forecast
|
||||
entity: weather.grayson
|
||||
- type: glance
|
||||
title:
|
||||
entities:
|
||||
- entity: sensor.accurite_back_porch_temperature
|
||||
name: Back Temp
|
||||
- entity: sensor.accurite_back_porch_humidity
|
||||
name: Back Humidity
|
||||
- sensor.accurite_garage_temperature
|
||||
- sensor.accurite_garage_humidity
|
||||
- type: thermostat
|
||||
entity: climate.first_floor
|
||||
|
||||
- type: entities
|
||||
entities:
|
||||
- entity: media_player.yamaha_receiver_theater
|
||||
- entity: media_player.living_room_tv
|
||||
name: Theater Chromecast
|
||||
- entity: media_player.roku_5s6719003683
|
||||
name: Master Bedroom Roku
|
||||
- entity: media_player.guest_tv
|
||||
name: Master Bedroom Chromecast
|
||||
- entity: media_player.googlehome7470
|
||||
name: Theater Google Home
|
||||
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- id: spotifyplayer
|
||||
type: entities
|
||||
entities:
|
||||
- entity: media_player.spotify
|
||||
name: Spotify
|
||||
- input_select.spotify_source
|
||||
- input_boolean.shuffle_spotify
|
||||
- type: horizontal-stack
|
||||
cards:
|
||||
- id: skylarxmas
|
||||
type: entity-button
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.turn_on
|
||||
service_data:
|
||||
entity: script.play_skylars_christmas_playlist
|
||||
|
||||
icon: mdi:music
|
||||
name: Skylar's Christmas
|
||||
- id: greenplaylist
|
||||
type: entity-button
|
||||
tap_action:
|
||||
action: call-service
|
||||
service: script.turn_on
|
||||
service_data:
|
||||
entity: script.play_skylars_playlist
|
||||
icon: mdi:music
|
||||
name: Skylar's Playlist
|
||||
|
||||
- type: vertical-stack
|
||||
cards:
|
||||
- id: doorsalerts
|
||||
type: entity-filter
|
||||
entities:
|
||||
- binary_sensor.back_door
|
||||
- binary_sensor.front_door
|
||||
- binary_sensor.laundry_room_door
|
||||
- binary_sensor.attic_door
|
||||
- binary_sensor.side_door
|
||||
- binary_sensor.garage_door
|
||||
- binary_sensor.garage_dome_sensor
|
||||
state_filter:
|
||||
- 'on'
|
||||
card:
|
||||
type: glance
|
||||
title:
|
||||
|
||||
- icon: mdi:weather-sunny
|
||||
title: Weather Details
|
||||
cards:
|
||||
- type: iframe
|
||||
url: https://embed.windy.com/embed2.html?lat=33.895&lon=-84.012&zoom=12&level=surface&overlay=radar&menu=&message=&marker=&calendar=&pressure=&type=map&location=coordinates&detail=&detailLat=33.895&detailLon=-84.012&metricWind=default&metricTemp=default&radarRange=-1
|
||||
aspect_ratio: 100%
|
||||
|
||||
- icon: mdi:settings
|
||||
title: Settings
|
||||
cards:
|
||||
- type: entities
|
||||
title: Notifications
|
||||
entities:
|
||||
- input_boolean.audible_notifications
|
||||
- input_boolean.text_notifications
|
||||
- input_boolean.text_notify_jeff
|
||||
- input_boolean.text_notify_kat
|
||||
- input_boolean.presence_audio_notifications
|
||||
- input_boolean.presence_text_notifications
|
||||
|
||||
- type: entities
|
||||
title: Alarms
|
||||
entities:
|
||||
- input_boolean.skylar_dressed_alarm
|
||||
- input_select.trash_pickup
|
||||
- input_select.recycle_pickup
|
||||
- input_boolean.trash_notification
|
||||
|
||||
# The markdown card will render markdown text.
|
||||
- type: markdown
|
||||
title: Lovelace
|
||||
content: >
|
||||
Welcome to your **Lovelace UI**
|
||||
|
||||
- icon: mdi:home-automation
|
||||
title: Home Automation
|
||||
cards:
|
||||
- type: entities
|
||||
title: System
|
||||
entities:
|
||||
- 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
|
||||
- sensor.installed_version
|
||||
- sensor.current_ha_version
|
||||
- sensor.ha_v2db
|
||||
- sensor.ha_log
|
||||
|
||||
- type: entities
|
||||
title: Network Speed
|
||||
entities:
|
||||
- sensor.speedtest_ping
|
||||
- sensor.speedtest_download
|
||||
- sensor.speedtest_upload
|
||||
|
||||
|
||||
- icon: mdi:human-male-female
|
||||
title: People
|
||||
cards:
|
||||
- type: entities
|
||||
title: Jeff
|
||||
show_header_toggle: false
|
||||
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_travel_monitor
|
||||
- input_boolean.text_notify_jeff
|
||||
- input_boolean.jeff_traffic_alerts
|
||||
|
||||
- type: entities
|
||||
title: Kat
|
||||
show_header_toggle: false
|
||||
entities:
|
||||
- sensor.kat_location
|
||||
- sensor.kat_destination
|
||||
- sensor.kat_iphone_batt
|
||||
- device_tracker.katherinesmini
|
||||
- device_tracker.katherinesipad
|
||||
- sensor.kat_ett_home
|
||||
- input_boolean.kat_travel_monitor
|
||||
- input_boolean.text_notify_kat
|
Loading…
Reference in New Issue