commit
1baa895f41
241 changed files with 28076 additions and 0 deletions
Split View
Diff Options
-
1.HA_VERSION
-
173.gitattributes
-
26.gitignore
-
9.travis.yml
-
115README.md
-
39automation/Pool_Deck_lights.yaml
-
37automation/Speech/High_Wind_Speed_Check.yaml
-
15automation/Speech/README.md
-
41automation/Speech/announcements.yaml
-
27automation/Speech/door_opened.yaml
-
48automation/Speech/garadget_Wind_Speed_Check.yaml
-
19automation/Speech/garage_closed.yaml
-
28automation/Speech/garage_opened.yaml
-
32automation/Speech/home_stats.yaml
-
24automation/Speech/nest.yaml
-
25automation/Speech/new_device.yaml
-
15automation/Speech/responsibilities.yaml
-
56automation/System/CucKoo_Clock.yaml
-
15automation/System/README.md
-
22automation/System/Self_heal.yaml
-
34automation/System/Wink_update_notification.yaml
-
26automation/System/bad_logins.yaml
-
50automation/System/detect_and_adjust_lights.yaml
-
40automation/System/door_chime.yaml
-
29automation/System/ip_change.yaml
-
29automation/System/rachio_rain_delay.yaml
-
70automation/System/trigger_dump.yaml
-
34automation/System/update_notification.yaml
-
27automation/System/watchdog_light.yaml
-
31automation/Timed_Triggers/0640.yaml
-
38automation/Timed_Triggers/0650.yaml
-
39automation/Timed_Triggers/0830.yaml
-
52automation/Timed_Triggers/2200.yaml
-
46automation/Timed_Triggers/README.md
-
43automation/Timed_Triggers/night_watchdog.yaml
-
21automation/Timed_Triggers/startup_month.yaml
-
17automation/Timed_Triggers/startup_notification.yaml
-
46automation/Timed_Triggers/sunrise_turn_off.yaml
-
64automation/Timed_Triggers/sunset_turn_on.yaml
-
25automation/away.yaml
-
12automation/carlo_left.yaml
-
25automation/color_tornado.yaml
-
66automation/dark_rainy_day.yaml
-
21automation/dash_buttons.yaml
-
19automation/flash_all.yaml
-
86automation/garadget.yaml
-
43automation/good_morning.yaml
-
49automation/good_night.yaml
-
24automation/guard_dog.yaml
-
18automation/ifttt_calendar.yaml
-
31automation/ifttt_logger.yaml
-
61automation/kitchen_lights_and_accents.yaml
-
46automation/late_night_helper.yaml
-
59automation/late_night_outside_helper.yaml
-
41automation/master_bath_accents.yaml
-
21automation/mealtime.yaml
-
36automation/medicine_logger.yaml
-
57automation/tv_time_on_and_off.yaml
-
32automation/upstairs_motion_ifttt.yaml
-
22automation/work.yaml
-
73automation/zwave_hallway_door_sensor.yaml
-
267configuration.yaml
-
15custom_components/media_player/README.md
-
329custom_components/media_player/cast.py
-
160custom_components/media_player/floorplan_speaker.py
-
419customize/binary_sensors.yaml
-
12customize/covers.yaml
-
389customize/device_tracker.yaml
-
235customize/groups.yaml
-
177customize/input_booleans.yaml
-
423customize/lights.yaml
-
79customize/scenes.yaml
-
89customize/scripts.yaml
-
1013customize/sensors.yaml
-
117customize/switches.yaml
-
18customize/weather.yaml
-
98dasher/dasher
-
15device_tracker/README.md
-
7device_tracker/nmap.yaml
-
5device_tracker/ping.yaml.disabled
-
6device_tracker/unifi.yaml.disabled
-
1emulated_hue_ids.json
-
25group/Indoor_Outdoor.yaml
-
5group/MQTT.yaml
-
4group/amps.yaml
-
8group/doors.yaml
-
13group/garage.yaml
-
8group/home_mode.yaml
-
97group/lights.yaml
-
9group/media_players.yaml
-
6group/motion.yaml
-
7group/people.yaml
-
3group/sensors.yaml
-
16group/switches.yaml
-
14group/triggers.yaml
-
74group/views.yaml.old
-
19group/weather.yaml
-
7input_boolean/hidden_booleans.yaml
-
19input_boolean/home_modes.yaml
-
32input_boolean/trigger_booleans.yaml
@ -0,0 +1 @@ |
|||
0.59.2 |
@ -0,0 +1,173 @@ |
|||
## GITATTRIBUTES FOR WEB PROJECTS |
|||
# |
|||
# These settings are for any web project. |
|||
# |
|||
# Details per file setting: |
|||
# text These files should be normalized (i.e. convert CRLF to LF). |
|||
# binary These files are binary and should be left untouched. |
|||
# |
|||
# Note that binary is a macro for -text -diff. |
|||
###################################################################### |
|||
|
|||
## AUTO-DETECT - Handle line endings automatically for files detected |
|||
## as text and leave all files detected as binary untouched. |
|||
## This will handle all files NOT defined below. |
|||
* text=auto |
|||
|
|||
## SOURCE CODE |
|||
*.bat text |
|||
*.coffee text |
|||
*.css text |
|||
*.htm text |
|||
*.html text |
|||
*.inc text |
|||
*.ini text |
|||
*.js text |
|||
*.jsx text |
|||
*.json text |
|||
*.less text |
|||
*.php text |
|||
*.pl text |
|||
*.py text |
|||
*.rb text |
|||
*.sass text |
|||
*.scm text |
|||
*.scss text |
|||
*.sh text |
|||
*.sql text |
|||
*.styl text |
|||
*.ts text |
|||
*.xml text |
|||
*.xhtml text |
|||
|
|||
## DOCUMENTATION |
|||
*.markdown text |
|||
*.md text |
|||
*.mdwn text |
|||
*.mdown text |
|||
*.mkd text |
|||
*.mkdn text |
|||
*.mdtxt text |
|||
*.mdtext text |
|||
*.txt text |
|||
AUTHORS text |
|||
CHANGELOG text |
|||
CHANGES text |
|||
CONTRIBUTING text |
|||
COPYING text |
|||
INSTALL text |
|||
license text |
|||
LICENSE text |
|||
NEWS text |
|||
readme text |
|||
*README* text |
|||
TODO text |
|||
|
|||
## TEMPLATES |
|||
*.dot text |
|||
*.ejs text |
|||
*.haml text |
|||
*.handlebars text |
|||
*.hbs text |
|||
*.hbt text |
|||
*.jade text |
|||
*.latte text |
|||
*.mustache text |
|||
*.phtml text |
|||
*.tmpl text |
|||
|
|||
## LINTERS |
|||
.csslintrc text |
|||
.eslintrc text |
|||
.jscsrc text |
|||
.jshintrc text |
|||
.jshintignore text |
|||
.stylelintrc text |
|||
|
|||
## CONFIGS |
|||
*.bowerrc text |
|||
*.cnf text |
|||
*.conf text |
|||
*.config text |
|||
.editorconfig text |
|||
.gitattributes text |
|||
.gitconfig text |
|||
.gitignore text |
|||
.htaccess text |
|||
*.npmignore text |
|||
*.yaml text |
|||
*.yml text |
|||
Makefile text |
|||
makefile text |
|||
|
|||
## HEROKU |
|||
Procfile text |
|||
.slugignore text |
|||
|
|||
## GRAPHICS |
|||
*.ai binary |
|||
*.bmp binary |
|||
*.eps binary |
|||
*.gif binary |
|||
*.ico binary |
|||
*.jng binary |
|||
*.jp2 binary |
|||
*.jpg binary |
|||
*.jpeg binary |
|||
*.jpx binary |
|||
*.jxr binary |
|||
*.pdf binary |
|||
*.png binary |
|||
*.psb binary |
|||
*.psd binary |
|||
*.svg text |
|||
*.svgz binary |
|||
*.tif binary |
|||
*.tiff binary |
|||
*.wbmp binary |
|||
*.webp binary |
|||
|
|||
## AUDIO |
|||
*.kar binary |
|||
*.m4a binary |
|||
*.mid binary |
|||
*.midi binary |
|||
*.mp3 binary |
|||
*.ogg binary |
|||
*.ra binary |
|||
|
|||
## VIDEO |
|||
*.3gpp binary |
|||
*.3gp binary |
|||
*.as binary |
|||
*.asf binary |
|||
*.asx binary |
|||
*.fla binary |
|||
*.flv binary |
|||
*.m4v binary |
|||
*.mng binary |
|||
*.mov binary |
|||
*.mp4 binary |
|||
*.mpeg binary |
|||
*.mpg binary |
|||
*.swc binary |
|||
*.swf binary |
|||
*.webm binary |
|||
|
|||
## ARCHIVES |
|||
*.7z binary |
|||
*.gz binary |
|||
*.rar binary |
|||
*.tar binary |
|||
*.zip binary |
|||
|
|||
## FONTS |
|||
*.ttf binary |
|||
*.eot binary |
|||
*.otf binary |
|||
*.woff binary |
|||
*.woff2 binary |
|||
|
|||
## EXECUTABLES |
|||
*.exe binary |
|||
*.pyc binary |
@ -0,0 +1,26 @@ |
|||
*.pid |
|||
*.xml |
|||
*.csr |
|||
*.crt |
|||
*.key |
|||
*.conf |
|||
*.pickle |
|||
OZW_Log.txt |
|||
home-assistant.log |
|||
home-assistant_v2.db |
|||
*.db-journal |
|||
*.db-shm |
|||
*.db-wal |
|||
*.sqlite |
|||
deps |
|||
__pycache__ |
|||
tts |
|||
secrets.yaml |
|||
secrets |
|||
known_devices.yaml |
|||
phue.conf |
|||
ios.conf |
|||
pyozw.sqlite |
|||
nest.conf |
|||
.uuid |
|||
ipchange.yaml |
@ -0,0 +1,9 @@ |
|||
language: python |
|||
python: |
|||
- "3.4" |
|||
install: |
|||
- pip3 install homeassistant |
|||
script: |
|||
- hass -c . --script check_config |
|||
before_install: |
|||
- mv travis_secrets.yaml secrets.yaml |
@ -0,0 +1,115 @@ |
|||
# [](https://travis-ci.org/CCOSTAN/Home-AssistantConfig) Home-Assistant Config by [@ccostan](http://www.twitter.com/ccostan) |
|||
[Home Assistant](https://home-assistant.io/) configuration files (YAMLs) |
|||
|
|||
Be sure to :star: my repo so you can keep up to date on the daily progress! |
|||
|
|||
You can also vist my [Blog](http://www.vmwareinfo.com/search/label/iot) for all of my [Home Automation Posts](http://www.vmwareinfo.com/search/label/iot). |
|||
|
|||
You can follow my home's breaking news and tweet statistics via twitter [BearStoneHA](https://twitter.com/bearstoneha) |
|||
|
|||
 |
|||
|
|||
This is my Home Assistant Configuration created with the All In One installer [expanded to 16GB.](https://community.home-assistant.io/t/expanding-partition-on-sd-card-for-raspberry-pi-with-noobs-pre-installed/2036) I update it pretty regularly. :star: |
|||
Home Assistant runs on my [Raspberry Pi 3](http://amzn.to/2e3DOBY) with [Aeon Labs Z Wave Stick (GEN 5)](http://amzn.to/2eAiAP0). I've also added a [433Mhz Transmitter and receiver](http://amzn.to/2dceNY2). The main [SD Card](http://amzn.to/2xeBlgf) was upgraded to 16GB. (Order 2! - 1 for backup) |
|||
I use an [SD Card reader](http://amzn.to/2l2w9as) to swap SD cards between Pi and Windows for backups. |
|||
|
|||
**Software on the Pi :** |
|||
* [Home Assistant](https://home-assistant.io/) , |
|||
* [Dasher](https://github.com/maddox/dasher) to leverage those cheap [Amazon Dash Buttons](http://amzn.to/2dPKZhM) |
|||
* SSL via [SSLS](https://SSLS.com) - 5 Bucks A Year! - Keeps me safe! |
|||
* [HomeBridge](https://github.com/nfarina/homebridge) for full HA <-> Homekit compatibility. |
|||
* The amazing [Floorplan](https://github.com/pkozul/ha-floorplan) project to help visualize my smarthome. |
|||
|
|||
**Devices I have :** |
|||
* [Ubiquiti Networks Unifi 802.11ac Pro](http://amzn.to/2mBSfE9) This keeps me warm with it's Wifi rays blanketing the house. Also used as a presence Tracker for iPhones/People. |
|||
* Lots of iOS Devices ([iPads](http://amzn.to/2l2qyRb), iPods, [iPhones](http://amzn.to/2l9Yoq9)) |
|||
* [Nest Thermostats](http://amzn.to/2eAhB1k) - Smart Thermostat |
|||
* [Nest Protects](http://amzn.to/2poqKhu) - Smart Smoke Detectors - [Blog Post](http://www.vmwareinfo.com/2017/06/psa-check-out-your-smoke-detectors-once.html) |
|||
* [Amazon Echo](http://amzn.to/2dSVbK4) and [DOT](http://amzn.to/2e3vHFQ) |
|||
* [Amazon Echo Tap](http://amzn.to/2sz891k) |
|||
* [Amazon Dash Buttons](http://amzn.to/2dPKZhM) |
|||
* [Amazon Dash Wand](https://www.amazon.com/Amazon-Dash-Wand-With-Alexa/dp/B01MQMJFDK/ref=sr_1_1_a_it?ie=UTF8&qid=1498928735&sr=8-1&keywords=dash+wand) - Alexa outside by the pool area. |
|||
* [Amazon Fire TV](http://amzn.to/2iiuaNT) |
|||
* [Amazon Fire Tablets Gen 7](http://amzn.to/2tqlMCW)- Used for [Wall Mounted Controllers](http://www.vmwareinfo.com/2017/07/visualizing-smart-home-using-home.html) |
|||
* [Wink Hub](http://amzn.to/2orGEWo) - Used to connect certain Zwave outlets etc. |
|||
* [Phillips Hue Hub Gen 2](http://amzn.to/2eoQTJy) |
|||
* Mixture of [Hue Colored lights](http://amzn.to/2l2viGK), [White Lights](http://amzn.to/2lEf4Xq) and GE Link bulbs. |
|||
* [Hue Go](http://amzn.to/2iB36Ii) - Great lights for the kids since they have an actual button on them for control. |
|||
* [Circle by Disney](http://amzn.to/2eAgaA6) - Parental Monitor for internet and screentime. |
|||
* [Rachio Sprinkler system](http://amzn.to/2eoPKBW) - Smart Sprinkler controller |
|||
* [GE ZWave Outdoor Power Module](http://amzn.to/2q17R4S) - These control my Landscape lighting and connect up to my Wink. |
|||
* [Withings](http://amzn.to/2kr78nW) - Smart Weight scale |
|||
* [SkyBell HD](http://amzn.to/2dcexIB) |
|||
* [Rokus](http://amzn.to/2dpn89c) for all streaming |
|||
* [Samsung Smart TV](http://amzn.to/2efNNnq) |
|||
* [ChromeCast Audios](http://amzn.to/2lE9gNu) |
|||
* [AMPs](http://amzn.to/2j18dlT) - These are cheap but effective for the Dots, Chromecasts or other speakers. |
|||
* [Mixer](http://amzn.to/2v9Zp3x) - This allows me to mix in DOT, music and HA. [Blog Post](http://www.vmwareinfo.com/2017/07/giving-voice-to-smart-home.html) |
|||
* [Etekcity Outlets](http://amzn.to/2efNoBP) - Cheap 6 Buck RF outlet control! |
|||
* [Door Sensors (AEON Labs)](http://amzn.to/2e3xDxY) |
|||
* [Garadget](http://amzn.to/2jQLpVQ) - Garage Door opener/sensor - "[Siri, are my garage doors closed?](https://pbs.twimg.com/media/C3cyJZSWAAAalPm.jpg:large)" |
|||
* [Nintendo Wii](http://amzn.to/2l2qIYY) |
|||
* Emulated Hue pushes all Switch, Group, input_boolean, script and scene information to Alexa for First Class Control! |
|||
* [iTeadStudio](https://www.itead.cc/) [goodies](https://twitter.com/ccostan/status/793119824008384512) - [SonOff](http://amzn.to/2l2sx8g) and a [Slampher](http://amzn.to/2l2gmIx)! |
|||
* [LED RGB Wifi Controller - flux_led compatible](http://amzn.to/2jUBSBE) with [LED Strip kits](http://amzn.to/2gJYfZ5) - ~100 Feet. These are great [Power supplies](http://amzn.to/2mnmbk8) - [Outdoor Housing](http://amzn.to/2m2dG0X) - Finished Product [#71](https://github.com/CCOSTAN/Home-AssistantConfig/issues/71) - [Blog Post](http://www.vmwareinfo.com/2017/08/diy-outdoor-smart-home-led-strips.html) |
|||
* [Digital Smart Water Main ShutOff/Leak Detector] (http://www.providencecpc.org/wp-content/uploads/2016/01/work_in_progress.png) - Beta test to monitor Water usage and Leaks centrally. |
|||
* [Aeon Labs AEDSB09104ZWUS Aeotec Z-Wave Smart Energy Monitor Meter](http://amzn.to/2l5wEDo) to measure energy usage in the home. |
|||
* [SleepNumber Bed i8](http://amzn.to/2kxdXXI) - Has SleepIQ to track occupancy and sleep habits. Tied into HA. |
|||
* [MX8 Zodiac Pool Robot](http://amzn.to/2nAGvPf) - Not YET hooked up HA, but working on it. |
|||
* [Pi Zero](http://amzn.to/2ougZQ3) with [Wireless Nub](http://amzn.to/2q38rg4) running Pi-Hole and smacking down internet ads left and right! |
|||
* [NodeMCU Development Boards](http://amzn.to/2ou0NON) hooked into the alarm system wires for [DIY alarm system](http://www.vmwareinfo.com/2017/06/building-my-home-alarm-system-hardware.html). - [DIY Motion Sensors](http://www.vmwareinfo.com/2017/11/yet-another-inexpensive-motion-sensor.html) |
|||
* [JuiceBox Pro 40 EVSE](http://amzn.to/2AIdSdx) - Used to Charge the Bolt EV. |
|||
|
|||
Lots of my gear comes from [BetaBound](https://goo.gl/0vxT8A) for Beta Testing and reviews. |
|||
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig'> |
|||
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig.svg' /> |
|||
</a> |
|||
|
|||
**Automations:** |
|||
* Voice Notifications via the [AMPs](http://amzn.to/2j18dlT) connected to ChromeCast Audios and [Mixer](http://amzn.to/2v9Zp3x). Accomplished via the [~~Google~~ Amazon Polly TTS](https://home-assistant.io/components/tts/) component. |
|||
* Ability to ask Alexa to repeat the last Voice notification - 'Alexa, Turn on Last message'. |
|||
* Track garbage days and chore days for the kids. Voice reminders and Alexa intergration/request for info. |
|||
* Guest mode to disable certain interior automations. Trigger via Alexa & IFTTT. |
|||
* IFTTT and Slack Notifications for Offline Devices, BadLogins, HA Startups, new HA versions and [External IP changes](https://community.home-assistant.io/t/detect-if-ip-changes/6830) for DSN. |
|||
* Monitor the reflection rates of [Garadget](http://amzn.to/2jQLpVQ) and notify when they being to drop too low when closed (indicating a shift in the controller) |
|||
* Notifications when the garage door is left open at night or when we leave the house. |
|||
* (IFTTT) Logging entries in Logbooks for [Rachio Sprinkler system](http://amzn.to/2eoPKBW), and [SkyBell HD](http://amzn.to/2dcexIB). |
|||
* Auto Heal ZWave at 2:30am |
|||
* Using [Etekcity Outlets](http://amzn.to/2efNoBP) to control accent lighting above kitchen cabinets and room cutouts. |
|||
* Turn on Hallway light for no more than 20 minutes when Pantry door is opened. |
|||
* Turn on TV Time Lights (dim and color) at Sunset (if home and TV is on) |
|||
* Turn on Upstairs light if [Nest Thermostats](http://amzn.to/2eAhB1k) detects people and it's nighttime. |
|||
* Turn off lights when [Nest Thermostats](http://amzn.to/2eAhB1k) detects we are away. (Upstairs and Downstairs) |
|||
* Turn on some lights and switches when we get home |
|||
* Turn on some outdoor Lights at Sunset or if it gets darkish in the house, Turn off 4 hours before sunrise. Turn off interior lights when we go to sleep. |
|||
* Turn on lights during school days for a morning routine for the kids and wife. Has No School overide boolean in GUI. |
|||
* Rainy days trigger extra light inside the house. |
|||
* Check the UV Rays for the day and let us know if we need sun tan lotion over the TTS system. |
|||
* Detects when lights are turned on and adjusts them to correct brightness based on time of day. |
|||
* Leverage Alexa, IFTTT and Elekcity outlet to control Printer On/Off via Voice. Turns off automatically after 20 minutes. |
|||
* Turn on [AMPs](http://amzn.to/2j18dlT) when Chromecast reports 'Playing'. Turn them off when we are done streaming music. |
|||
* (IFTTT) Blink ALL lights at 9:30 to remind me to take medicine. (also Alexa Alert) |
|||
* (IFTTT) Blink Office lights 15 minutes before ANY meeting on my calendar (using IFTTT) |
|||
* (IFTTT) Stop watering grass via [Rachio Sprinkler system](http://amzn.to/2eoPKBW) if winds are greater than 20 MPH. |
|||
* (IFTTT) Add a 1 day rain delay to [Rachio Sprinkler system](http://amzn.to/2eoPKBW) if it is going to rain tomorrow. |
|||
* (IFTTT) Blink ALL lights if Winds get to 70MPH - Hurricance warning. |
|||
* (IFTTT) Trigger Good Night routine when I step on the [Withings](http://amzn.to/2kr78nW) scale after 10pm. |
|||
* Sets up the front lights in the house with preset colors depending on the ~~month~~ day!. |
|||
* On motion from [SkyBell HD Doorbell](http://amzn.to/2dcexIB) (IFTTT) Turn front lights to Bright White lights for 10 minutes and then back to original colors. Fake Dog barking when there is motion by the house. |
|||
* When someone rings the Doorbell (IFTTT), the backyard and Bathroom lights Flash - Since we might not hear the doorbell. Fake Dog barks as well (which can be snoozed for 30 minutes via Alexa). |
|||
* Watch and alert on Home Assistant's Disk usage. Get alerts before Pi runs out of space on the [SD Card](http://amzn.to/2kNttio). |
|||
* Digital Cuckoo Clock that goes off each hour and on the half just like a real Cuckoo Clock. Plays across the whole house on my [ChromeCast Audios](http://amzn.to/2lE9gNu) |
|||
|
|||
#Todo List |
|||
I've moved this entire section to the [issues section](https://github.com/CCOSTAN/Home-AssistantConfig/issues) on github. |
|||
Feel free to join the conversations there. |
|||
 |
|||
 |
|||
 |
|||
|
|||
**All files are now being edited with [Atom](https://atom.io/).** |
|||
|
|||
**All of my configuration files are tested against the most stable version of home-assistant using [Travis](https://travis-ci.org/CCOSTAN/Home-AssistantConfig).** |
|||
|
|||
#Still have questions on my Config? |
|||
Message me on twitter : [@CCostan](https://twitter.com/ccostan) |
@ -0,0 +1,39 @@ |
|||
#------------------------------------------- |
|||
# When the Sliding door opens, at night, turn on Pool deck lights. |
|||
# @CCOSTAN |
|||
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig |
|||
#------------------------------------------- |
|||
|
|||
- alias: Pool Deck light helper |
|||
trigger: |
|||
- platform: state |
|||
entity_id: binary_sensor.MCU2_GPIO12 |
|||
to: 'on' |
|||
for: '00:3:00' |
|||
- platform: state |
|||
entity_id: sun.sun |
|||
to: 'below_horizon' |
|||
from: 'above_horizon' |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: sun.sun |
|||
state: 'below_horizon' |
|||
- condition: state |
|||
entity_id: binary_sensor.MCU2_GPIO12 |
|||
state: 'on' |
|||
- condition: numeric_state |
|||
entity_id: sensor.dark_sky_temperature |
|||
below: 80 |
|||
|
|||
action: |
|||
- service: switch.turn_on |
|||
entity_id: switch.back_landscaping |
|||
- service: light.turn_on |
|||
entity_id: group.outdoor_pool_lights |
|||
data: |
|||
color_temp: 369 |
|||
- wait_template: >- |
|||
{{ states.binary_sensor.MCU2_GPIO12.state == 'off' }} |
|||
- service: light.turn_off |
|||
entity_id: group.outdoor_pool_lights |
@ -0,0 +1,37 @@ |
|||
################################### |
|||
## Tornados are no Joke. |
|||
################################### |
|||
|
|||
- alias: 'High Wind Speed Notification' |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: numeric_state |
|||
entity_id: sensor.dark_sky_wind_speed |
|||
above: 50 |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'VERY HIGH WINDS:' |
|||
value2: "{{ states('sensor.dark_sky_wind_speed')}}" |
|||
value3: ' ' |
|||
|
|||
- service: input_boolean.turn_on |
|||
entity_id: input_boolean.alert_mode |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
value1: > |
|||
"ATTENTION: The wind speed is now {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. Please make sure everyone is inside for safety." |
|||
call_window_check: 1 |
|||
call_garage_check: 1 |
|||
|
|||
- service: script.emergency |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Wind speed is {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. For safety, I'm going to close the @garadget doors.", |
|||
"Getting pretty windy! {{ states('sensor.dark_sky_wind_speed')|round}}MPH. Time to ask @Garadget to close the garage doors." |
|||
] | random + "(http://amzn.to/2jQLpVQ)"}} |
@ -0,0 +1,15 @@ |
|||
# [](https://travis-ci.org/CCOSTAN/Home-AssistantConfig) Home-Assistant Config by [@ccostan](http://www.twitter.com/ccostan) |
|||
[Home Assistant](https://home-assistant.io/) configuration files (YAMLs) |
|||
|
|||
Be sure to :star: my repo so you can keep up to date on the daily progress! |
|||
|
|||
This directory is for all the speech only Automations. These speech scripts use a speechengine in the scripts folder but the automations generate all the text (mostly). |
|||
|
|||
#Still have questions on my Config? |
|||
Follow me on twitter : [@CCostan](https://twitter.com/ccostan) |
|||
|
|||
You can also vist my [Blog](http://www.vmwareinfo.com/search/label/iot) for all of my [Home Automation Posts](http://www.vmwareinfo.com/search/label/iot). |
|||
|
|||
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig'> |
|||
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig.svg' /> |
|||
</a> |
@ -0,0 +1,41 @@ |
|||
########## ############################################################ |
|||
## Announce when people come or go. |
|||
## Announce over all Chromecast Audios |
|||
###################################################################### |
|||
- alias: 'People Greeting' |
|||
|
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- device_tracker.carlo |
|||
- device_tracker.stacey |
|||
- device_tracker.franco |
|||
- device_tracker.yolanda |
|||
from: 'not_home' |
|||
to: 'home' |
|||
for: '00:02:00' |
|||
|
|||
action: |
|||
- service: script.speech_engine |
|||
data_template: |
|||
personarriving: > |
|||
{% set person = trigger.entity_id.split('.')[1]|replace('_', ' ')%} |
|||
{%- macro greeting_sentence(person) -%} |
|||
{{ [ |
|||
"Welcome back home " ~ person, |
|||
"Guess who is home?" ~ person +" is!", |
|||
person + " is now in the house.", |
|||
"Welcome Home " ~ person + ". We have missed you. Or at least Molly did.", |
|||
"Our home is now complete, Rest your head and relax your feet! Welcome Back " ~ person, |
|||
"Life is like a song, youโre back where you belong. Welcome home " ~ person, |
|||
"Hey there " ~ person + " Welcome Home!", |
|||
"Knock Knock. Who is There? " ~ person +" is!", |
|||
person ~ "! You are home!", |
|||
"I know a secret! " ~ person +" is home!" |
|||
] | random }} |
|||
{%- endmacro -%} |
|||
{{greeting_sentence(person)}} |
|||
call_responsibilities: 1 |
|||
call_no_announcement: 1 |
|||
call_garage_check: 1 |
|||
call_window_check: 1 |
@ -0,0 +1,27 @@ |
|||
###################################################################### |
|||
## Garage Status Announcements |
|||
###################################################################### |
|||
- alias: 'Door Opened' |
|||
|
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- binary_sensor.mcu2_gpio5 # back door # |
|||
- binary_sensor.MCU2_GPIO12 # Main Slider |
|||
- binary_sensor.MCU1_GPIO12 # Interior Garage Door # |
|||
to: 'Opened' |
|||
for: |
|||
minutes: 2 |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: "The {{ trigger.to_state.attributes.friendly_name }} has been {{ (trigger.to_state.state)|replace('_', ' ') }}." |
|||
|
|||
- service: input_boolean.turn_on |
|||
entity_id: input_boolean.alert_mode |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
call_window_check: 1 |
|||
call_inside_weather: 1 |
@ -0,0 +1,48 @@ |
|||
################################### |
|||
## Garadget Stuff - [Garadget](http://amzn.to/2jQLpVQ) - Garage Door opener/sensor |
|||
################################### |
|||
|
|||
- alias: 'Wind Speed Garage Door Check' |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: numeric_state |
|||
entity_id: sensor.dark_sky_wind_speed |
|||
above: 20 |
|||
|
|||
condition: |
|||
- condition: or |
|||
conditions: |
|||
- condition: template |
|||
value_template: "{{ states('cover.large_garage') == 'opened' }}" |
|||
- condition: template |
|||
value_template: "{{ states('cover.small_garage') == 'opened'}}" |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'Check Garage Doors:' |
|||
value2: "Small: {{ states('cover.small_garage')}}" |
|||
value3: "Large: {{ states('cover.large_garage')}}" |
|||
|
|||
- service: input_boolean.turn_on |
|||
entity_id: input_boolean.alert_mode |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
value1: > |
|||
"The winds are picking up outside. The wind speed is {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. For safety, please close the garage doors. |
|||
{% if is_state('cover.large_garage', 'open') -%} |
|||
The Large Garage Door is open |
|||
{% endif -%} |
|||
{% if is_state('cover.small_garage', 'open') -%} |
|||
{% if is_state('cover.large_garage', 'open') -%}and |
|||
{%- endif %} The small Garage Door is open. |
|||
{% endif %}" |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Wind speed is {{ states('sensor.dark_sky_wind_speed')|round}} miles per hour. For safety, I'm going to close the @garadget doors.", |
|||
"Getting pretty windy! {{ states('sensor.dark_sky_wind_speed')|round}}MPH. Time to ask @Garadget to close the garage doors." |
|||
] | random + "(http://amzn.to/2jQLpVQ)"}} |
@ -0,0 +1,19 @@ |
|||
###################################################################### |
|||
## Garage Status Announcements - Only during normal hours. |
|||
###################################################################### |
|||
- alias: 'Garage Door closed' |
|||
|
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- cover.large_garage |
|||
- cover.small_garage |
|||
from: 'open' |
|||
to: 'closed' |
|||
for: '00:02:00' |
|||
|
|||
action: |
|||
- service: script.speech_engine |
|||
data_template: |
|||
DoorClosed: "The {{ trigger.entity_id.split('.')[1]|replace('_', ' ') }} is now {{ (trigger.to_state.state)|replace('_', ' ') }}." |
|||
call_garage_check: 1 |
@ -0,0 +1,28 @@ |
|||
###################################################################### |
|||
## Garage Status Announcements |
|||
###################################################################### |
|||
- alias: 'Garage Opened' |
|||
|
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- cover.large_garage |
|||
- cover.small_garage |
|||
from: 'closed' |
|||
to: 'open' |
|||
for: '00:02:30' |
|||
|
|||
action: |
|||
- service_template: > |
|||
{% set hour=states("sensor.time").split(':')[0] | int %} |
|||
{% if hour >= 7 and hour <= 9 and states.input_boolean.school_mode.state == 'on'%} |
|||
input_boolean.turn_off |
|||
{% else %} |
|||
input_boolean.turn_on |
|||
{% endif %} |
|||
entity_id: input_boolean.alert_mode |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
value1: "The {{ trigger.entity_id.split('.')[1]|replace('_', ' ') }} is now {{ (trigger.to_state.state)|replace('_', ' ') }}." |
|||
call_garage_check: 1 |
@ -0,0 +1,32 @@ |
|||
###################################################################### |
|||
## Some home facts when we get back home from being away. |
|||
###################################################################### |
|||
- alias: 'Home Stats' |
|||
|
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- group.family |
|||
from: 'not_home' |
|||
to: 'home' |
|||
for: '00:03:00' |
|||
|
|||
- platform: state |
|||
entity_id: input_boolean.home_stats |
|||
to: 'on' |
|||
from: 'off' |
|||
|
|||
action: |
|||
|
|||
- wait_template: >- |
|||
{{ is_state('group.garage_doors', 'closed') }} |
|||
timeout: 00:05:30 |
|||
|
|||
- service: script.speech_engine |
|||
data: |
|||
call_inside_weather: 1 |
|||
call_responsibilities: 1 |
|||
call_outside_weather: 1 |
|||
call_garage_check: 1 |
|||
call_window_check: 1 |
|||
call_light_check: 1 |
@ -0,0 +1,24 @@ |
|||
###################################################################### |
|||
## Announce when one of the nests kick in |
|||
## Announce over all Chromecast Audios |
|||
###################################################################### |
|||
- alias: 'Nest Status' |
|||
|
|||
trigger: |
|||
|
|||
- platform: state |
|||
entity_id: |
|||
- sensor.downstairs_thermostat_hvac_state |
|||
- sensor.upstairs_thermostat_hvac_state |
|||
from: 'off' |
|||
|
|||
# condition: |
|||
# - condition: template |
|||
# value_template: >- |
|||
# {{ as_timestamp(states.automation.nest_status.attributes.last_triggered) > as_timestamp(now()) - (1800) }} |
|||
|
|||
action: |
|||
- service: script.speech_engine |
|||
data_template: |
|||
NestStatus: "The {{ trigger.entity_id.split('.')[1].split('_')[0]}} {{ trigger.entity_id.split('.')[1].split('_')[1]}} has now been turned on for {{(trigger.to_state.state)}}." |
|||
call_window_check: 1 |
@ -0,0 +1,25 @@ |
|||
############################################################################## |
|||
### New Device has connected to the network. let everyone know. |
|||
############################################################################## |
|||
|
|||
- alias: "New device connected" |
|||
trigger: |
|||
- platform: event |
|||
event_type: device_tracker_new_device |
|||
|
|||
action: |
|||
- wait_template: >- |
|||
{{ not is_state('media_player.livingroomCC', 'playing') }} |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
NewDevice: "There has been a new device detected on the network. Be sure to appropriately catagorize {{trigger.event.data.host_name}} within Circle." |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"New Device on the Network! @MeetCircle has alerted me me and now it is locked down.", |
|||
"Constant monitoring of the network by @MeetCircle has detected a new device in the environment." |
|||
] | random + " (http://amzn.to/2eAgaA6)"}} |
|||
############################################################################## |
@ -0,0 +1,15 @@ |
|||
###################################################################### |
|||
## Who's day is it anyway? Pretty sure my parent's didn't code to figure this out. |
|||
###################################################################### |
|||
- alias: 'responsibilities' |
|||
|
|||
trigger: |
|||
|
|||
- platform: state |
|||
entity_id: input_boolean.responsibilities |
|||
to: 'on' |
|||
|
|||
action: |
|||
- service: script.speech_engine |
|||
data: |
|||
call_responsibilities: 1 |
@ -0,0 +1,56 @@ |
|||
################################### |
|||
## cuckoo Clock simulation. |
|||
## Plays the number of cuckoos per hour and 1 on the half hour. |
|||
################################### |
|||
|
|||
- alias: Cuckoo Clock |
|||
trigger: |
|||
- platform: time |
|||
minutes: 00 |
|||
seconds: 20 |
|||
- platform: time |
|||
minutes: 30 |
|||
seconds: 00 |
|||
|
|||
condition: |
|||
- condition: time |
|||
after: '09:30:00' |
|||
before: '21:30:00' |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'home' |
|||
- condition: template |
|||
value_template: > |
|||
{% if is_state('media_player.livingroomCC', 'playing') %} |
|||
false |
|||
{% else %} |
|||
true |
|||
{% endif %} |
|||
|
|||
action: |
|||
- service: media_player.turn_on |
|||
entity_id: media_player.livingroomCC |
|||
|
|||
- service: switch.turn_on |
|||
entity_id: switch.living_room_amp |
|||
- delay: '00:00:05' |
|||
|
|||
- service: media_player.volume_set |
|||
entity_id: |
|||
- media_player.livingroomCC |
|||
data: |
|||
volume_level: 0.22 |
|||
|
|||
- service: media_player.play_media |
|||
data_template: |
|||
entity_id: |
|||
- media_player.livingroomCC |
|||
- media_player.alarm_clock |
|||
# - media_player.bedroom_alarm_panel |
|||
media_content_id: > |
|||
{% if now().strftime("%M")|int == 30 %} |
|||
https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/sounds/cuckoo-clock-01.wav |
|||
{% else %} |
|||
https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/sounds/cuckoo-clock-{{now().strftime("%I")}}.wav |
|||
{% endif %} |
|||
media_content_type: audio/mp4 |
@ -0,0 +1,15 @@ |
|||
# [](https://travis-ci.org/CCOSTAN/Home-AssistantConfig) Home-Assistant Config by [@ccostan](http://www.twitter.com/ccostan) |
|||
[Home Assistant](https://home-assistant.io/) configuration files (YAMLs) |
|||
|
|||
Be sure to :star: my repo so you can keep up to date on the daily progress! |
|||
|
|||
This directory is primarily used for automations that are just running in the background all the time. Little robots just doing thier thing to help make the house the smartest and most proactive it can be for us. |
|||
|
|||
#Still have questions on my Config? |
|||
Follow me on twitter : [@CCostan](https://twitter.com/ccostan) |
|||
|
|||
You can also vist my [Blog](http://www.vmwareinfo.com/search/label/iot) for all of my [Home Automation Posts](http://www.vmwareinfo.com/search/label/iot). |
|||
|
|||
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig'> |
|||
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig.svg' /> |
|||
</a> |
@ -0,0 +1,22 @@ |
|||
################################### |
|||
## Self Healing Section - |
|||
## Home Assistant runs on my [Raspberry Pi 3](http://amzn.to/2e3DOBY) with [Aeon Labs Z Wave Stick (GEN 5)](http://amzn.to/2eAiAP0). |
|||
################################### |
|||
|
|||
- alias: Heal ZWave Nightly |
|||
hide_entity: True |
|||
trigger: |
|||
platform: time |
|||
at: '2:31:00' |
|||
action: |
|||
- service: zwave.heal_network |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"While they sleep, I self heal the Z-Wave network with Wink.", |
|||
"Nightly Z-WAVE Self heals keep all the gear in check! (http://amzn.to/2q17R4S)", |
|||
"Every night at 2:31am, I do my self-heal and rebuild the ZWAVE network.", |
|||
"Without my Nightly ZWave Self Heal, things get a little whackado." |
|||
] | random + " #SelfHeal #ZWave"}} |
@ -0,0 +1,34 @@ |
|||
- alias: "Wink Update Available Notification" |
|||
hide_entity: True |
|||
trigger: |
|||
platform: template |
|||
value_template: "{{ is_state_attr('binary_sensor.carlowink', 'update needed', True) }} != False }}" |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'Check the Wink Hub. Update is needed.' |
|||
value2: "{{ states.binary_sensor.carlowink.attributes }}" |
|||
value3: '' |
|||
who: 'carlo' |
|||
|
|||
- service: notify.html5 |
|||
data_template: |
|||
title: "Wink Update Available" |
|||
message: "Wink Update is available. - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}" |
|||
data: |
|||
url: "https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/#upgrading" |
|||
|
|||
- service: persistent_notification.create |
|||
data: |
|||
title: "Wink Update Available" |
|||
message: "Wink Update is available. - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}" |
|||
notification_id: "update_available" |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Check @TheWinkApp Hub @CCostan. Update is needed. {{ states.binary_sensor.carlowink.attributes }}", |
|||
"New update from @TheWinkApp. Hop to it @CCostan" |
|||
] | random + "(http://amzn.to/2orGEWo)"}} |
@ -0,0 +1,26 @@ |
|||
################################### |
|||
## Uses IFTTT to notify me of bad logins. |
|||
################################### |
|||
|
|||
- alias: Login Failure |
|||
hide_entity: True |
|||
trigger: |
|||
platform: template |
|||
value_template: "{{ states('persistent_notification.httplogin') != 'unknown' }}" |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'Bad Login: ' |
|||
value2: 'There was a Hack attempt!' |
|||
value3: 'Go Check the GUI for details.' |
|||
who: 'carlo' |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Seriously, I am a Smart Home. I am logging your hack attempt.", |
|||
"If you do not know the password, you get locked out and IP banned.", |
|||
"Three Strikes and you are OUT! IP Banned." |
|||
] | random + "#Security"}} |
@ -0,0 +1,50 @@ |
|||
############################################################################## |
|||
### Detect when lights are turned on and adjust them accordingly based on time. |
|||
### Code by @JesseWebDotCom |
|||
############################################################################## |
|||
- alias: detect lights and adjust the brightness when turned on based on time |
|||
trigger: |
|||
- platform: event |
|||
event_type: state_changed |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'home' |
|||
- condition: state |
|||
entity_id: input_boolean.alert_mode |
|||
state: 'off' |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data is not none }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id is not none }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id.split('.')[0] == 'light' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.tv' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.couch' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id.split('_')[0] != 'light.office' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.entity_id.split('_')[1] != 'screensaver' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.new_state.state == 'on' }}" |
|||
- condition: template |
|||
value_template: "{{ trigger.event.data.old_state.state == 'off' }}" |
|||
|
|||
action: |
|||
- service: light.turn_on |
|||
data_template: |
|||
entity_id: "{{ trigger.event.data.entity_id }}" |
|||
brightness: > |
|||
{% set hour=states("sensor.time").split(':')[0] | int %} |
|||
{%- if hour >= 5 and hour < 8 -%} |
|||
50 |
|||
{%- elif hour >= 8 and hour <20 -%} |
|||
255 |
|||
{%- elif hour >= 20 and hour <24 -%} |
|||
40 |
|||
{%- else -%} |
|||
15 |
|||
{%- endif %} |
@ -0,0 +1,40 @@ |
|||
################################### |
|||
## @CCOSTAN |
|||
## Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig |
|||
################################### |
|||
|
|||
- alias: Door Chime |
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- group.entry_points |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'home' |
|||
|
|||
action: |
|||
- service: script.amp_settings |
|||
data: |
|||
media_player: 'media_player.livingroomcc' |
|||
volume_level: 0.22 |
|||
- wait_template: >- |
|||
{{ states.switch.living_room_amp.state == 'on' }} |
|||
|
|||
- service: media_player.play_media |
|||
data_template: |
|||
entity_id: > |
|||
{% if states.group.bed.state == 'off' %} |
|||
media_player.livingroomCC |
|||
{% else %} |
|||
- media_player.alarm_clock |
|||
- media_player.bedroom_alarm_panel |
|||
{% endif %} |
|||
media_content_id: > |
|||
{% if trigger.to_state.state == 'on' %} |
|||
https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/sounds/one-tone-chime.mp3 |
|||
{% else %} |
|||
https://raw.githubusercontent.com/CCOSTAN/Home-AssistantConfig/master/sounds/two-tone-chime.mp3 |
|||
{% endif %} |
|||
media_content_type: audio/mp4 |
@ -0,0 +1,29 @@ |
|||
############################################################################## |
|||
### Detect when things are on and forgotten about. Like any Good Watchdog. |
|||
############################################################################## |
|||
|
|||
############################################################################## |
|||
|
|||
- alias: "NOTIFY IF IP CHANGES" |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: state |
|||
entity_id: sensor.ipchange |
|||
from: 'False' |
|||
to: 'True' |
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'Changed IP address:' |
|||
value2: "New IP: {{ states('sensor.exteral_ip') }}" |
|||
value3: ' - Be sure to Change DNS!' |
|||
who: 'carlo' |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"That's weird. Looks like my IP address changed. @CCostan, please check it out.", |
|||
"Time to update @GoDaddy @CCostan. Looks like my IP address changed." |
|||
] | random + " #HomeAutomation"}} |
|||
############################################################################## |
@ -0,0 +1,29 @@ |
|||
################################### |
|||
## Uses IFTTT to trigger rain delay with rachio |
|||
################################### |
|||
|
|||
- alias: Rachio_Rain_Delay |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: numeric_state |
|||
entity_id: |
|||
- sensor.dark_sky_precip_intensity_max |
|||
- sensor.dark_sky_precip_intensity |
|||
above: 0.5 |
|||
- platform: numeric_state |
|||
entity_id: sensor.dark_sky_wind_speed |
|||
above: 20 |
|||
|
|||
action: |
|||
- service: ifttt.trigger |
|||
data_template: {"event":"Rachio_Rain_Delay"} |
|||
|
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Looks like Rain, Pausing the @_Rachio for 24 hours. (http://amzn.to/2eoPKBW)", |
|||
"Since it is going to rain tomorrow, I'll pause @_Rachio for 24 hours.", |
|||
"No reason to water the grass if it's going to rain tomorrow. pausing @_Rachio for 24 hours.", |
|||
"Mother Nature is watering the grass today so I can pause @_Rachio for 24 hours." |
|||
] | random + " #SavingWater"}} |
@ -0,0 +1,70 @@ |
|||
################################### |
|||
## Trigger Dump |
|||
################################### |
|||
|
|||
- alias: Trigger dump - MQTT |
|||
trigger: |
|||
- platform: event |
|||
event_type: trigger_dump |
|||
action: |
|||
- service: mqtt.publish |
|||
data_template: |
|||
topic: '/dump/{{ trigger.platform }}' |
|||
retain: false |
|||
payload: >- |
|||
{%- macro dumpState(statePrefix, stateObj) -%} |
|||
{{statePrefix ~ ": "}} {{- stateObj.state }}{{- "\n" -}} |
|||
{{statePrefix ~ ".entity_id: "}} {{- stateObj.entity_id }}{{- "\n" -}} |
|||
{{statePrefix ~ ".domain: "}} {{- stateObj.domain }}{{- "\n" -}} |
|||
{{statePrefix ~ ".object_id: "}} {{- stateObj.object_id }}{{- "\n" -}} |
|||
{{statePrefix ~ ".name: "}} {{- stateObj.name }}{{- "\n" -}} |
|||
{{statePrefix ~ ".last_updated: "}} {{- stateObj.last_updated }}{{- "\n" -}} |
|||
{{statePrefix ~ ".last_changed: "}} {{- stateObj.last_changed }}{{- "\n" -}} |
|||
{%- for attrib in stateObj.attributes | sort() %} |
|||
{%- if attrib is defined -%} |
|||
{{- statePrefix ~ ".attributes." ~ attrib ~ ": " -}} {{- stateObj.attributes[attrib] -}} |
|||
{{- "\n" -}} |
|||
{%- endif -%} |
|||
{%- endfor -%} |
|||
{%- endmacro -%} |
|||
|
|||
{% set p = trigger.platform %} |
|||
{{"trigger.platform: "}} {{ p }}{{- "\n" -}} |
|||
|
|||
{%- if p == "mqtt" -%} |
|||
{{"trigger.topic: "}} {{ trigger.topic }}{{- "\n" -}} |
|||
{{"trigger.payload: "}} {{ trigger.payload }}{{- "\n" -}} |
|||
{{"trigger.payload_json: "}} {{ trigger.payload_json }}{{- "\n" -}} |
|||
{{"trigger.qos: "}} {{ trigger.qos }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "event" or p == "sun" or p == "zone" -%} |
|||
{{"trigger.event: "}} {{ trigger.event }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "numeric_state" -%} |
|||
{{"trigger.above: "}} {{ trigger.above }}{{- "\n" -}} |
|||
{{"trigger.below: "}} {{trigger.below }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "state" -%} |
|||
{{"trigger.for: "}} {{ trigger.for }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "time" -%} |
|||
{{"trigger.now: "}} {{ trigger.now }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "zone" -%} |
|||
{{"trigger.zone: "}} {{ trigger.zone }}{{- "\n" -}} |
|||
{%- endif -%} |
|||
|
|||
{%- if p == "state" or p == "numeric_state" or p == "template" or p == "zone" -%} |
|||
{{"trigger.entity_id: "}} {{ trigger.entity_id }}{{- "\n" -}}{{- "\n" -}} |
|||
{{"trigger.from_state: "}} {{- "\n" -}} |
|||
-------------------{{- "\n" -}} |
|||
{{ dumpState("trigger.from_state", trigger.from_state) }} {{- "\n" -}} |
|||
trigger.to_state:{{- "\n" -}} |
|||
-----------------{{- "\n" -}} |
|||
{{ dumpState("trigger.to_state", trigger.to_state) }} |
|||
{%- endif -%} |
@ -0,0 +1,34 @@ |
|||
- alias: "Update Available Notification" |
|||
hide_entity: True |
|||
trigger: |
|||
platform: state |
|||
entity_id: updater.updater |
|||
|
|||
condition: |
|||
- condition: template |
|||
value_template: "{{ states('updater.updater') != 'unknown' }}" |
|||
|
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'There is a new Version of Home-Assistant Available.' |
|||
value2: "{{ states('updater.updater') }}" |
|||
who: 'carlo' |
|||
|
|||
- service: script.tweet_engine |
|||
data: |
|||
tweet: "New version of @Home_Assistant! Cannot wait for @CCostan to install it! - {{ states('updater.updater') }} (http://www.vmwareinfo.com/2017/07/my-smart-home-look-at-parts-that-make.html)" |
|||
|
|||
|
|||
- service: notify.html5 |
|||
data_template: |
|||
title: "Update Available" |
|||
message: "Home Assistant {{ states('updater.updater') }} is available. - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}" |
|||
data: |
|||
url: "https://home-assistant.io/getting-started/installation-raspberry-pi-all-in-one/#upgrading" |
|||
|
|||
- service: persistent_notification.create |
|||
data: |
|||
title: "Update Available" |
|||
message: "Home Assistant {{ states('updater.updater') }} is available. - {{ as_timestamp(now()) | timestamp_custom('%I:%M:%S %p %d%b%Y', true) }}" |
|||
notification_id: "update_available" |
@ -0,0 +1,27 @@ |
|||
############################################################################## |
|||
### Detect when things are on and forgotten about. Like any Good Watchdog. |
|||
############################################################################## |
|||
|
|||
- alias: Automated Light WatchDog! |
|||
trigger: |
|||
- platform: state |
|||
entity_id: |
|||
- light.hallway |
|||
- group.hallway_lights |
|||
- group.foyer_lights |
|||
- switch.printer_outlet |
|||
to: 'on' |
|||
for: '00:20:00' |
|||
|
|||
- platform: state |
|||
entity_id: |
|||
- group.upstairs |
|||
- switch.garage_outlet |
|||
to: 'on' |
|||
for: '02:00:00' |
|||
|
|||
#Turn it off! |
|||
action: |
|||
- service: homeassistant.turn_off |
|||
data_template: |
|||
entity_id: "{{ trigger.entity_id }}" |
@ -0,0 +1,31 @@ |
|||
###################################################################### |
|||
## Stuff that needs to happen at 06:30am. |
|||
###################################################################### |
|||
|
|||
- alias: 'Timed 640.' |
|||
trigger: |
|||
- platform: time |
|||
at: '06:40:00' |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: home |
|||
- condition: state |
|||
entity_id: input_boolean.school_mode |
|||
state: 'on' |
|||
- condition: time |
|||
weekday: |
|||
- mon |
|||
- tue |
|||
- wed |
|||
- thu |
|||
- fri |
|||
|
|||
action: |
|||
- service: light.turn_on |
|||
entity_id: |
|||
- light.d1 |
|||
- light.d2 |
|||
- service: switch.turn_on |
|||
entity_id: switch.kitchen_accents |
@ -0,0 +1,38 @@ |
|||
###################################################################### |
|||
## Stuff that needs to happen at 08:30am. |
|||
###################################################################### |
|||
|
|||
- alias: 'Kids 650.' |
|||
trigger: |
|||
- platform: time |
|||
at: '06:50:00' |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: home |
|||
- condition: state |
|||
entity_id: input_boolean.school_mode |
|||
state: 'on' |
|||
- condition: time |
|||
weekday: |
|||
- mon |
|||
- tue |
|||
- wed |
|||
- thu |
|||
- fri |
|||
|
|||
action: |
|||
- service: light.turn_on |
|||
entity_id: |
|||
- light.d1 |
|||
- light.d2 |
|||
- group.kitchen_lights |
|||
- service: light.turn_off |
|||
entity_id: |
|||
- group.dining_room_lights |
|||
|
|||
- wait_template: >- |
|||
{{ states.sun.sun.state == 'above_horizon' }} |
|||
- service: switch.turn_off |
|||
entity_id: switch.kitchen_accents |
@ -0,0 +1,39 @@ |
|||
###################################################################### |
|||
## Stuff that needs to happen at 08:30am. |
|||
###################################################################### |
|||
|
|||
- alias: 'Kids left for the day.' |
|||
trigger: |
|||
- platform: time |
|||
at: '08:30:00' |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: home |
|||
- condition: state |
|||
entity_id: input_boolean.guest_mode |
|||
state: 'off' |
|||
- condition: state |
|||
entity_id: input_boolean.school_mode |
|||
state: 'on' |
|||
- condition: time |
|||
weekday: |
|||
- mon |
|||
- tue |
|||
- wed |
|||
- thu |
|||
- fri |
|||
action: |
|||
- wait_template: >- |
|||
{{ is_state('group.garage_doors', 'open') }} |
|||
- service: light.turn_off |
|||
entity_id: |
|||
- group.all_lights |
|||
- service: switch.turn_off |
|||
entity_id: switch.kitchen_accents |
|||
- wait_template: >- |
|||
{{ is_state('group.bed', 'off') }} |
|||
- service: light.turn_on |
|||
entity_id: |
|||
- group.kitchen_lights |
@ -0,0 +1,52 @@ |
|||
###################################################################### |
|||
## Stuff that needs to happen at 10pm. |
|||
###################################################################### |
|||
|
|||
- alias: 'Shut down AMP in Living room' |
|||
trigger: |
|||
- platform: time |
|||
at: '22:00:00' |
|||
|
|||
action: |
|||
- wait_template: >- |
|||
{{ not is_state('media_player.livingroomCC', 'playing') }} |
|||
- wait_template: >- |
|||
{{ not is_state('media_player.whole_house', 'playing') }} |
|||
|
|||
- service: script.speech_engine |
|||
data_template: |
|||
call_no_announcement: 1 |
|||
call_garage_check: 1 |
|||
call_window_check: 1 |
|||
|
|||
- service: light.turn_on |
|||
entity_id: |
|||
- group.living_room_accents |
|||
data_template: |
|||
color_name: > |
|||
{% if states.group.entry_points.state == 'on' or states.group.all_covers.state != 'closed' -%} |
|||
red |
|||
{% else %} |
|||
gold |
|||
{% endif %} |
|||
|
|||
- wait_template: >- |
|||
{{ not is_state('group.entry_points', 'on') }} |
|||
- wait_template: >- |
|||
{{ is_state('group.all_covers', 'closed') }} |
|||
|
|||
- wait_template: >- |
|||
{{ not is_state('media_player.livingroomCC', 'playing') }} |
|||
- service: switch.turn_off |
|||
entity_id: switch.living_room_amp |
|||
|
|||
- service: light.turn_on |
|||
entity_id: |
|||
- group.living_room_accents |
|||
data_template: |
|||
color_name: > |
|||
{% if states.group.entry_points.state == 'on' or states.group.all_covers.state != 'closed' -%} |
|||
red |
|||
{% else %} |
|||
gold |
|||
{% endif %} |
@ -0,0 +1,46 @@ |
|||
# [](https://travis-ci.org/CCOSTAN/Home-AssistantConfig) Home-Assistant Config by [@ccostan](http://www.twitter.com/ccostan) |
|||
[Home Assistant](https://home-assistant.io/) configuration files (YAMLs) |
|||
|
|||
Be sure to :star: my repo so you can keep up to date on the daily progress! |
|||
|
|||
This directory is primarily used for automations that are triggered via time. Daily, monthly, seasonally or on the hour. |
|||
|
|||
**Time Based Automation TimeLine** |
|||
|
|||
ALL DAY LONG: |
|||
Checks to see if we are away. |
|||
Cuckoo Clock goes off each hour and on the half. |
|||
|
|||
SUNRISE minus 1 hour |
|||
Turn off ALL SWITCHES |
|||
Turn off ALL LIGHTS |
|||
05:00 AM ** Light Brightness helper 50 Brightness ** |
|||
06:00 AM ( on school days) : Turn on Dining Room lights, Kitchen Accents and start Kid's bedroom [Hue Go](http://amzn.to/2iB36Ii) wake up lights. |
|||
06:51 AM Turn on Dinette lights, Turn off Dining Room Lights and Kitchen Accents |
|||
07:51 AM Turn on Kitchen Lights |
|||
08:00 AM ** Light Brightness helper FULL 255 Brightness ** |
|||
08:31 AM (on school days) Turn off ALL interior lights. |
|||
09:00 AM Speech Notifications are enabled for the house. |
|||
|
|||
SUNSET: |
|||
Turn on Den Outlet, Living Room Outlet, Dining Room Outlet, Outdoor Bathroom light, TV lights |
|||
Activate Monthly Front Lighting Scene |
|||
Check if Garage Door is open (Every 60 minutes) |
|||
** Kitchen Light/Accent Helper Activated ** |
|||
|
|||
08:00 PM ** Late Night Helper is active ** |
|||
08:00 PM ** Light Brightness helper 35 Brightness ** |
|||
08:00 PM TV time Scene triggered if the TV is on. |
|||
09:00 PM Turn on [Hue Go](http://amzn.to/2iB36Ii) lights for the kid's rooms and start fading down. |
|||
10:00 PM Speech Notifications are disabled for the house. (except under ALERT mode) and AMP is shut. |
|||
02:00 AM ** Late Night Help Deactivated ** |
|||
02:31 AM Heal ZWave Network |
|||
|
|||
#Still have questions on my Config? |
|||
Follow me on twitter : [@CCostan](https://twitter.com/ccostan) |
|||
|
|||
You can also vist my [Blog](http://www.vmwareinfo.com/search/label/iot) for all of my [Home Automation Posts](http://www.vmwareinfo.com/search/label/iot). |
|||
|
|||
<a target='_blank' rel='nofollow' href='https://app.codesponsor.io/link/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig'> |
|||
<img alt='Sponsor' width='888' height='68' src='https://app.codesponsor.io/embed/3MkgeKFUVKPNW45Vtwu9Abd4/CCOSTAN/Home-AssistantConfig.svg' /> |
|||
</a> |
@ -0,0 +1,43 @@ |
|||
###################################################################### |
|||
## Stuff that needs to happen after 10pm. |
|||
###################################################################### |
|||
|
|||
- alias: Automated NIGHT WatchDog! |
|||
trigger: |
|||
- platform: state |
|||
entity_id: switch.living_room_amp |
|||
to: 'on' |
|||
for: '00:10:00' |
|||
- platform: state |
|||
entity_id: media_player.livingroomCC |
|||
to: 'off' |
|||
for: '00:02:00' |
|||
- platform: state |
|||
entity_id: media_player.whole_house |
|||
to: 'off' |
|||
for: '00:02:00' |
|||
|
|||
condition: |
|||
condition: or |
|||
conditions: |
|||
- condition: and |
|||
conditions: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'not_home' |
|||
- condition: state |
|||
entity_id: input_boolean.guest_mode |
|||
state: 'off' |
|||
- condition: and |
|||
conditions: |
|||
- condition: state |
|||
entity_id: input_boolean.guest_mode |
|||
state: 'off' |
|||
- condition: state |
|||
entity_id: group.bed |
|||
state: 'on' |
|||
|
|||
action: |
|||
- service: switch.turn_off |
|||
data_template: |
|||
entity_id: "{{ trigger.entity_id }}" |
@ -0,0 +1,21 @@ |
|||
################################### |
|||
## Start Up Section |
|||
################################### |
|||
|
|||
- alias: Check if it's summer vacation on startup. |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: homeassistant |
|||
event: start |
|||
|
|||
condition: |
|||
- condition: template |
|||
value_template: > |
|||
{% set month=states("sensor.date").split('-')[1] | int %} |
|||
{%- if month == 6 or month == 7 -%} |
|||
true |
|||
{%- endif -%} |
|||
|
|||
action: |
|||
- service: input_boolean.turn_off |
|||
entity_id: input_boolean.school_mode |
@ -0,0 +1,17 @@ |
|||
################################### |
|||
## Start Up Section |
|||
################################### |
|||
|
|||
- alias: Startup Notification and Shut startup lights |
|||
hide_entity: True |
|||
trigger: |
|||
- platform: homeassistant |
|||
event: start |
|||
action: |
|||
- service: script.notify_engine |
|||
data_template: |
|||
value1: 'Startup: Home Assistant is Up and Running!' |
|||
who: 'carlo' |
|||
|
|||
- service: light.turn_off |
|||
entity_id: group.hallway_lights |
@ -0,0 +1,46 @@ |
|||
################################### |
|||
## Sunrise and Sunset stuff |
|||
################################### |
|||
|
|||
- alias: 'Sunset Stuff off' |
|||
trigger: |
|||
- platform: sun |
|||
event: sunrise |
|||
offset: '-02:00:00' |
|||
|
|||
action: |
|||
- service: script.interior_off |
|||
- service: homeassistant.turn_off |
|||
entity_id: |
|||
- group.landscaping |
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Even though they are sleeping, I still turn off the outdoor lights before sunrise.", |
|||
"It was a beautiful sunrise. Time to turn off the exterior lights. (http://www.vmwareinfo.com/2017/08/diy-outdoor-smart-home-led-strips.html)", |
|||
"If the sun is out, we do not need the exterior lights on. (http://amzn.to/2q17R4S)", |
|||
"The sun is up so it's time to turn the outside lights off. Lucky for my family, I have them covered!" |
|||
] | random + "#HomeAutomation"}} |
|||
|
|||
- delay: '00:{{ (range(1, 55)|random|int) }}:00' |
|||
- service: light.turn_off |
|||
entity_id: |
|||
- group.exterior_lights |
|||
- group.outdoor_front_lights |
|||
- group.outdoor_pool_lights |
|||
- group.all_lights |
|||
|
|||
- wait_template: >- |
|||
{{ states.sun.sun.state == 'above_horizon' }} |
|||
- service: homeassistant.turn_off |
|||
entity_id: |
|||
- switch.master_bathroom_accents |
|||
- group.exterior_lights |
|||
- group.outdoor_front_lights |
|||
|
|||
- service: input_boolean.turn_off |
|||
entity_id: |
|||
- input_boolean.medicine |
|||
- input_boolean.daylight_override |
|||
- input_boolean.guest_mode |
@ -0,0 +1,64 @@ |
|||
################################### |
|||
## Sunrise and Sunset stuff |
|||
# @CCOSTAN |
|||
# Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig |
|||
################################### |
|||
|
|||
- alias: 'Sunset Stuff on' |
|||
trigger: |
|||
- platform: state |
|||
entity_id: sun.sun |
|||
to: 'below_horizon' |
|||
from: 'above_horizon' |
|||
|
|||
action: |
|||
- service: script.tweet_engine |
|||
data_template: |
|||
tweet: > |
|||
{{ [ |
|||
"Right before sunset, I turn on the outdoor lights.", |
|||
"Since it gets dark around sunset, I turn on the landscaping lights.", |
|||
"Since it is sunset, I will turn on the exterior lights." |
|||
] | random + [ |
|||
"#Sunset", |
|||
"#HomeAutomation", |
|||
"AccentLighting", |
|||
"(http://www.vmwareinfo.com/2017/08/diy-outdoor-smart-home-led-strips.html)" |
|||
] | random }} |
|||
- delay: '00:{{ (range(1, 20)|random|int) }}:00' |
|||
- service: script.speech_engine |
|||
data: |
|||
call_dark_outside: 1 |
|||
call_window_check: 1 |
|||
- service: homeassistant.turn_on |
|||
entity_id: |
|||
- switch.front_landscaping |
|||
- service: script.monthly_color_scene |
|||
- service: light.turn_on |
|||
data: |
|||
entity_id: |
|||
- light.outdoor_bathroom |
|||
brightness: 35 |
|||
|
|||
- wait_template: >- |
|||
{{ states.group.family.state == 'home' }} |
|||
- service: switch.turn_on |
|||
entity_id: |
|||
- switch.master_bathroom_accents |
|||
- switch.back_landscaping |
|||
- switch.front_door_outlet |
|||
- switch.living_room_outlet |
|||
- switch.den_outlet |
|||
- switch.foyer_outlet |
|||
- service: light.turn_on |
|||
entity_id: |
|||
- group.living_room_accents |
|||
- light.bedroom |
|||
- wait_template: >- |
|||
{{ is_state('group.garage_doors', 'closed') }} |
|||
- wait_template: >- |
|||
{{ is_state('group.entry_points', 'off') }} |
|||
- service: script.speech_engine |
|||
data: |
|||
call_garage_check: 1 |
|||
call_window_check: 1 |
@ -0,0 +1,25 @@ |
|||
###################################################################### |
|||
## Shut it all down. No one is here |
|||
###################################################################### |
|||
|
|||
- alias: 'Away Mode' |
|||
trigger: |
|||
- platform: state |
|||
entity_id: binary_sensor.downstairs_away_mode |
|||
to: 'on' |
|||
- platform: state |
|||
entity_id: group.family |
|||
to: 'not_home' |
|||
|
|||
condition: |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'not_home' |
|||
- condition: state |
|||
entity_id: input_boolean.guest_mode |
|||
state: 'off' |
|||
|
|||
action: |
|||
- service: script.interior_off |
|||
- service: switch.turn_off |
|||
entity_id: switch.back_landscaping |
@ -0,0 +1,12 @@ |
|||
###################################################################### |
|||
## Turn off my Office light whenever I leave the house. |
|||
###################################################################### |
|||
- alias: 'Carlo has left the building' |
|||
trigger: |
|||
- platform: state |
|||
entity_id: device_tracker.carlo |
|||
to: not_home |
|||
|
|||
action: |
|||
- service: light.turn_off |
|||
entity_id: light.office_lamp |
@ -0,0 +1,25 @@ |
|||
###################################################################### |
|||
## Color Tornado! |
|||
###################################################################### |
|||
- alias: 'Color Tornado' |
|||
trigger: |
|||
- platform: state |
|||
entity_id: input_boolean.color_tornado |
|||
to: 'on' |
|||
from: 'off' |
|||
|
|||
action: |
|||
- service: light.turn_on |
|||
entity_id: |
|||
- light.justin_go |
|||
data: |
|||
effect: colorloop |
|||
|
|||
- service: light.turn_on |
|||
entity_id: |
|||
- light.justin_go |
|||
data: |
|||
effect: colorloop |
|||
|
|||
- service: input_boolean.turn_off |
|||
entity_id: input_boolean.color_tornado |
@ -0,0 +1,66 @@ |
|||
###################################################################### |
|||
## Dark House Little extra light - DARK and Cloudy or just rainy. |
|||
###################################################################### |
|||
|
|||
- alias: 'Dark House Little extra light' |
|||
trigger: |
|||
- platform: numeric_state |
|||
entity_id: sun.sun |
|||
value_template: '{{ state.attributes.elevation }}' |
|||
below: 20.0 |
|||
- platform: numeric_state |
|||
entity_id: sensor.dark_sky_cloud_coverage |
|||
above: 90 |
|||
- platform: numeric_state |
|||
entity_id: sensor.dark_sky_precip_intensity |
|||
above: 1 |
|||
- platform: state |
|||
entity_id: group.family |
|||
to: 'home' |
|||
from: 'not_home' |
|||
|
|||
condition: |
|||
condition: and |
|||
conditions: |
|||
- condition: or |
|||
conditions: |
|||
- condition: and |
|||
conditions: |
|||
- condition: numeric_state |
|||
entity_id: sun.sun |
|||
value_template: '{{ state.attributes.elevation }}' |
|||
below: 20.0 |
|||
- condition: numeric_state |
|||
entity_id: sensor.dark_sky_cloud_coverage |
|||
above: 90 |
|||
- condition: numeric_state |
|||
entity_id: sensor.dark_sky_precip_intensity |
|||
above: 1 |
|||
- condition: state |
|||
entity_id: binary_sensor.sleepnumber_carlo_carlo_is_in_bed |
|||
state: 'off' |
|||
- condition: state |
|||
entity_id: binary_sensor.sleepnumber_carlo_stacey_is_in_bed |
|||
state: 'off' |
|||
- condition: state |
|||
entity_id: sun.sun |
|||
state: 'above_horizon' |
|||
- condition: state |
|||
entity_id: group.family |
|||
state: 'home' |
|||