mirror of
				https://github.com/CCOSTAN/Home-AssistantConfig.git
				synced 2025-10-31 02:37:25 +00:00 
			
		
		
		
	Massive Migration! #292
This commit is contained in:
		
							
								
								
									
										1
									
								
								.HA_VERSION
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								.HA_VERSION
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1 @@ | ||||
| 0.59.2 | ||||
							
								
								
									
										173
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										173
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										26
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								.gitignore
									
									
									
									
										vendored
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										9
									
								
								.travis.yml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								.travis.yml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										115
									
								
								README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										115
									
								
								README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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) | ||||
							
								
								
									
										39
									
								
								automation/Pool_Deck_lights.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								automation/Pool_Deck_lights.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										37
									
								
								automation/Speech/High_Wind_Speed_Check.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										37
									
								
								automation/Speech/High_Wind_Speed_Check.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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)"}} | ||||
							
								
								
									
										15
									
								
								automation/Speech/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								automation/Speech/README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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> | ||||
							
								
								
									
										41
									
								
								automation/Speech/announcements.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								automation/Speech/announcements.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										27
									
								
								automation/Speech/door_opened.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								automation/Speech/door_opened.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										48
									
								
								automation/Speech/garadget_Wind_Speed_Check.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								automation/Speech/garadget_Wind_Speed_Check.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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)"}} | ||||
							
								
								
									
										19
									
								
								automation/Speech/garage_closed.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								automation/Speech/garage_closed.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										28
									
								
								automation/Speech/garage_opened.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										28
									
								
								automation/Speech/garage_opened.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										32
									
								
								automation/Speech/home_stats.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								automation/Speech/home_stats.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										24
									
								
								automation/Speech/nest.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								automation/Speech/nest.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										25
									
								
								automation/Speech/new_device.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								automation/Speech/new_device.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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)"}} | ||||
| ############################################################################## | ||||
							
								
								
									
										15
									
								
								automation/Speech/responsibilities.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								automation/Speech/responsibilities.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										56
									
								
								automation/System/CucKoo_Clock.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										56
									
								
								automation/System/CucKoo_Clock.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										15
									
								
								automation/System/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								automation/System/README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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> | ||||
							
								
								
									
										22
									
								
								automation/System/Self_heal.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								automation/System/Self_heal.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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"}} | ||||
							
								
								
									
										34
									
								
								automation/System/Wink_update_notification.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										34
									
								
								automation/System/Wink_update_notification.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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)"}} | ||||
							
								
								
									
										26
									
								
								automation/System/bad_logins.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										26
									
								
								automation/System/bad_logins.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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"}} | ||||
							
								
								
									
										50
									
								
								automation/System/detect_and_adjust_lights.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										50
									
								
								automation/System/detect_and_adjust_lights.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 %} | ||||
							
								
								
									
										40
									
								
								automation/System/door_chime.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										40
									
								
								automation/System/door_chime.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										29
									
								
								automation/System/ip_change.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								automation/System/ip_change.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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"}} | ||||
| ############################################################################## | ||||
							
								
								
									
										29
									
								
								automation/System/rachio_rain_delay.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										29
									
								
								automation/System/rachio_rain_delay.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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"}} | ||||
							
								
								
									
										70
									
								
								automation/System/trigger_dump.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										70
									
								
								automation/System/trigger_dump.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 -%} | ||||
							
								
								
									
										34
									
								
								automation/System/update_notification.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										34
									
								
								automation/System/update_notification.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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" | ||||
							
								
								
									
										27
									
								
								automation/System/watchdog_light.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										27
									
								
								automation/System/watchdog_light.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 }}" | ||||
							
								
								
									
										31
									
								
								automation/Timed_Triggers/0640.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								automation/Timed_Triggers/0640.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										38
									
								
								automation/Timed_Triggers/0650.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										38
									
								
								automation/Timed_Triggers/0650.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										39
									
								
								automation/Timed_Triggers/0830.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										39
									
								
								automation/Timed_Triggers/0830.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										52
									
								
								automation/Timed_Triggers/2200.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										52
									
								
								automation/Timed_Triggers/2200.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 %} | ||||
							
								
								
									
										46
									
								
								automation/Timed_Triggers/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								automation/Timed_Triggers/README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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> | ||||
							
								
								
									
										43
									
								
								automation/Timed_Triggers/night_watchdog.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								automation/Timed_Triggers/night_watchdog.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 }}" | ||||
							
								
								
									
										21
									
								
								automation/Timed_Triggers/startup_month.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								automation/Timed_Triggers/startup_month.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										17
									
								
								automation/Timed_Triggers/startup_notification.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										17
									
								
								automation/Timed_Triggers/startup_notification.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										46
									
								
								automation/Timed_Triggers/sunrise_turn_off.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								automation/Timed_Triggers/sunrise_turn_off.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										64
									
								
								automation/Timed_Triggers/sunset_turn_on.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										64
									
								
								automation/Timed_Triggers/sunset_turn_on.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										25
									
								
								automation/away.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								automation/away.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										12
									
								
								automation/carlo_left.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								automation/carlo_left.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										25
									
								
								automation/color_tornado.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								automation/color_tornado.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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 | ||||
							
								
								
									
										66
									
								
								automation/dark_rainy_day.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										66
									
								
								automation/dark_rainy_day.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -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' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - light.couch_1 | ||||
|         - light.sink | ||||
|     - service: input_boolean.turn_on | ||||
|       entity_id: | ||||
|         - input_boolean.daylight_override | ||||
|     - service: script.speech_engine | ||||
|       data_template: | ||||
|         value1: "It is getting a little dark inside the house because of the {{trigger.entity_id.split('_')[2]|replace('precip','rain') }} {{trigger.entity_id.split('_')[3]|replace('intensity',' ')}} outside.  I will turn on some extra lights in the living room." | ||||
|         call_window_check: 1 | ||||
|         call_garage_check: 1 | ||||
|  | ||||
| ###################################################################### | ||||
							
								
								
									
										21
									
								
								automation/dash_buttons.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								automation/dash_buttons.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| ################################### | ||||
| ##  Press an [Amazon Dash Buttons](http://amzn.to/2dPKZhM) and then stuff happens. | ||||
| ################################### | ||||
|  | ||||
| - alias: 'Toggle Office Light on/off' | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: office_lamp_dash | ||||
|  | ||||
|   action: | ||||
|     # Disable this automation | ||||
|     - service: automation.turn_off | ||||
|       entity_id: automation.toggle_office_light_onoff | ||||
|     - service: light.toggle | ||||
|       entity_id: light.office_lamp | ||||
|     - service: input_boolean.turn_on | ||||
|       entity_id: input_boolean.daylight_override | ||||
|     - delay: | ||||
|         minutes: 1 | ||||
|     # enable this automation - This prevents duplicate pushes. | ||||
|     - service: automation.turn_on | ||||
							
								
								
									
										19
									
								
								automation/flash_all.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								automation/flash_all.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| ###################################################################### | ||||
| ##  Flash all the lights! | ||||
| ###################################################################### | ||||
| - alias: 'Flash all_lights' | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.flash | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - group.all_lights | ||||
|       data: | ||||
|         flash: long | ||||
|  | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.flash | ||||
							
								
								
									
										86
									
								
								automation/garadget.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										86
									
								
								automation/garadget.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,86 @@ | ||||
| ################################### | ||||
| ## Garadget Stuff -  [Garadget](http://amzn.to/2jQLpVQ) - Garage Door opener/sensor | ||||
| ## | ||||
| ################################### | ||||
|  | ||||
| - alias: Garadget Reflection Rates | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: numeric_state | ||||
|       entity_id: sensor.large_garage_reflection_rate | ||||
|       below: 85 | ||||
| #      for: '00:05:00' | ||||
|     - platform: numeric_state | ||||
|       entity_id: sensor.small_garage_reflection_rate | ||||
|       below: 85 | ||||
| #      for: '00:05:00' | ||||
|  | ||||
|   condition: | ||||
|     - condition: template | ||||
|       value_template: "{{ states('cover.large_garage') == 'closed' }}" | ||||
|     - condition: template | ||||
|       value_template: "{{ states('cover.small_garage') == 'closed' }}" | ||||
|  | ||||
|   action: | ||||
|     - service: script.notify_engine | ||||
|       data_template: | ||||
|         value1: 'Check Garage Doors Reflection:' | ||||
|         value2: "Small: {{ states('sensor.small_garage_reflection_rate')}}" | ||||
|         value3: "Large: {{ states('sensor.large_garage_reflection_rate')}}" | ||||
|         who: "carlo" | ||||
|  | ||||
| ############################################################################## | ||||
|  | ||||
| - alias: Is the Garage door Open at night - Checks every 30 minutes or 5 minutes after we drive away. | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: time | ||||
|       minutes: '/45' | ||||
|       seconds: 00 | ||||
|     - platform: state | ||||
|       entity_id: group.family | ||||
|       to: not_home | ||||
|       for: 00:05:00 | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.tv_time | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   condition: | ||||
|     condition: or | ||||
|     conditions: | ||||
|       - condition: and | ||||
|         conditions: | ||||
|           - condition: state | ||||
|             entity_id: group.family | ||||
|             state: not_home | ||||
|             for: 00:05:00 | ||||
|           - condition: or | ||||
|             conditions: | ||||
|               - condition: template | ||||
|                 value_template: "{{ states('cover.large_garage') == 'opened' }}" | ||||
|               - condition: template | ||||
|                 value_template: "{{ states('cover.small_garage') == 'opened' }}" | ||||
|       - condition: and | ||||
|         conditions: | ||||
|           - condition: state | ||||
|             entity_id: sun.sun | ||||
|             state: 'below_horizon' | ||||
|           - 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')}}" | ||||
|         who: "family" | ||||
|  | ||||
|     - service: script.speech_engine | ||||
|       data_template: | ||||
|         value1: "Please check the garage doors. The Small garage is {{ states('cover.small_garage')}} and the large garage is {{ states('cover.large_garage')}}" | ||||
							
								
								
									
										43
									
								
								automation/good_morning.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										43
									
								
								automation/good_morning.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,43 @@ | ||||
| ###################################################################### | ||||
| ##  Weekday Morning Routines for the Wife and Kiddos. | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: 'Good Morning Routine' | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.good_morning | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|     - platform: state | ||||
|       entity_id: | ||||
|         - binary_sensor.sleepnumber_carlo_stacey_is_in_bed | ||||
|       to: 'off' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: group.family | ||||
|       state: home | ||||
|     - condition: state | ||||
|       entity_id: input_boolean.school_mode | ||||
|       state: 'on' | ||||
|     - condition: time | ||||
|       after: '06:00:00' | ||||
|       before: '10:00:00' | ||||
|     - condition: time | ||||
|       weekday: | ||||
|         - mon | ||||
|         - tue | ||||
|         - wed | ||||
|         - thu | ||||
|         - fri | ||||
|  | ||||
|   action: | ||||
|     - delay: 00:20:00 | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - light.s1 | ||||
|         - light.s4 | ||||
|     - service: switch.turn_on | ||||
|       entity_id: switch.kitchen_accents | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.good_morning | ||||
							
								
								
									
										49
									
								
								automation/good_night.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										49
									
								
								automation/good_night.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,49 @@ | ||||
| ###################################################################### | ||||
| ##  Good night Routine | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: 'Good Night Trigger' | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.good_night | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|     - platform: state | ||||
|       entity_id: | ||||
|         - binary_sensor.sleepnumber_carlo_carlo_is_in_bed | ||||
|         - binary_sensor.sleepnumber_carlo_stacey_is_in_bed | ||||
|       to: 'on' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: sun.sun | ||||
|       state: 'below_horizon' | ||||
|     - condition: state | ||||
|       entity_id: input_boolean.guest_mode | ||||
|       state: 'off' | ||||
|     - condition: state | ||||
|       entity_id: binary_sensor.sleepnumber_carlo_carlo_is_in_bed | ||||
|       state: 'on' | ||||
|     - condition: state | ||||
|       entity_id: binary_sensor.sleepnumber_carlo_stacey_is_in_bed | ||||
|       state: 'on' | ||||
|  | ||||
|   action: | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.good_night | ||||
|  | ||||
|     - service: script.speech_engine | ||||
|       data_template: | ||||
|         value1: > | ||||
|           {{ [ | ||||
|           "Sleep Tight, Don't let the bedbugs bite.", | ||||
|           "Have pleasant dreams", | ||||
|           "As they say in the Navy, See you in the rise." | ||||
|           "Dream pleasant dreams.  Tomorrow is a new day.", | ||||
|           "Early sleep and early wake up gives health and makes you grow.", | ||||
|           "Good night, good night! Parting is such sweet sorrow that I shall say goodnight till it is Morrow.", | ||||
|           "There is a time for many words, and there is also a time for sleep.", | ||||
|           "This good night isn’t meant to bring an end to this day. It’s intended to wish you awesomeness in what lies ahead.", | ||||
|           "Stuff your worries in your pillow, wrap your troubles in your blanket and spread your anxieties on your sheets. When you wake up tomorrow, you may have dirty linen, but more importantly, you’ll have a fresh mind and a happy heart. Good night." | ||||
|           ] | random }} | ||||
|     - service: script.interior_off | ||||
							
								
								
									
										24
									
								
								automation/guard_dog.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										24
									
								
								automation/guard_dog.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,24 @@ | ||||
| ###################################################################### | ||||
| ##  Speak Max!  Speak Max!! | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: Guard Dog | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.guard_dog | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.front_door_opened | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: group.all_covers | ||||
|       state: 'closed' | ||||
|  | ||||
|   action: | ||||
|     - service: script.dog_bark | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.guard_dog | ||||
							
								
								
									
										18
									
								
								automation/ifttt_calendar.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								automation/ifttt_calendar.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,18 @@ | ||||
| ################################### | ||||
| ##  IFTTT checks Office 365 Calendar and Notifies me of appointments. Flash lights but only at reasonable hours. | ||||
| ################################### | ||||
| - alias: 'IFTTT Appointment reminder' | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: IFTTT_Appointment | ||||
|    | ||||
|   condition: | ||||
|     - condition: time | ||||
|       after: '06:00:00' | ||||
|       before: '20:00:00' | ||||
|    | ||||
|   action: | ||||
|     - service: script.flash_notify | ||||
|    | ||||
|  | ||||
							
								
								
									
										31
									
								
								automation/ifttt_logger.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										31
									
								
								automation/ifttt_logger.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,31 @@ | ||||
| ################################### | ||||
| ##  LOG IFTTT Stuff - Rachio | ||||
| ################################### | ||||
| - alias: 'Log Sprinkler Activity' | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: rachio_water_stops | ||||
|  | ||||
|   action: | ||||
|     - service: logbook.log | ||||
|       data: | ||||
|         name: "Rachio Sprinkler:" | ||||
|         message: "The Lawn was watered just now." | ||||
|  | ||||
|     - service: mqtt.publish | ||||
|       data_template: | ||||
|         payload: '{{ states("sensor.date") }}' | ||||
|         topic: 'ifttt/rachio/watering_time' | ||||
|         retain: true | ||||
|  | ||||
|     - service: script.tweet_engine | ||||
|       data_template: | ||||
|         tweet: > | ||||
|           {{ [ | ||||
|           "Just finished watering the lawn with @_Rachio.", | ||||
|           "The lawn looked thirsty so I watered it.", | ||||
|           "My lawn looks great and we definately do not water it nearly as much as everyone else. (http://amzn.to/2eoPKBW)", | ||||
|           "No rain in the forecast? @_Rachio knows & chose to water the lawn.", | ||||
|           ".@CCostan does not even think about watering the lawn. Me and @_Rachio take care of that." | ||||
|           ] | random + " #SavingWater"}} | ||||
							
								
								
									
										61
									
								
								automation/kitchen_lights_and_accents.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										61
									
								
								automation/kitchen_lights_and_accents.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,61 @@ | ||||
| ##################################################################################### | ||||
| ###  If the Kitchen Lights go on for more than 10 minutes, turn off the accent lights | ||||
| ### connected to [Etekcity Outlets](http://amzn.to/2efNoBP) | ||||
| ## [433Mhz Transmitter and receiver](http://amzn.to/2dceNY2) | ||||
| ##################################################################################### | ||||
|  | ||||
| - alias: Kitchen lights on - Accent lights off | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: group.kitchen_lights | ||||
|       to: 'on' | ||||
|       for: '00:05:00' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: switch.kitchen_accents | ||||
|       state: 'on' | ||||
|  | ||||
|   action: | ||||
|     - service: switch.turn_off | ||||
|       entity_id: switch.kitchen_accents | ||||
|  | ||||
| ############################################################################## | ||||
|  | ||||
| - alias: Kitchen lights off - turn on Accent lights | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: group.kitchen_lights | ||||
|       to: 'off' | ||||
|       for: '00:05:00' | ||||
|     - platform: state | ||||
|       entity_id: sun.sun | ||||
|       to: 'below_horizon' | ||||
|       from: 'above_horizon' | ||||
|  | ||||
|   condition: | ||||
|     - condition: sun | ||||
|       after: 'sunset' | ||||
|     - condition: state | ||||
|       entity_id: group.kitchen_lights | ||||
|       state: 'off' | ||||
|     - condition: or | ||||
|       conditions: | ||||
|         - 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: or | ||||
|       conditions: | ||||
|         - condition: state | ||||
|           entity_id: group.family | ||||
|           state: 'home' | ||||
|         - condition: state | ||||
|           entity_id: input_boolean.guest_mode | ||||
|           state: 'on' | ||||
|  | ||||
|   action: | ||||
|     - service: switch.turn_on | ||||
|       entity_id: switch.kitchen_accents | ||||
							
								
								
									
										46
									
								
								automation/late_night_helper.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										46
									
								
								automation/late_night_helper.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,46 @@ | ||||
| ################################### | ||||
| ##  Late Night lights Section | ||||
| # @CCOSTAN | ||||
| # Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig | ||||
| ################################### | ||||
| - alias: 'Late Night Helper' | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: | ||||
|         - binary_sensor.downstairs_away_mode | ||||
|       to: 'off' | ||||
|     - platform: state | ||||
|       entity_id: group.family | ||||
|       to: home | ||||
|  | ||||
|   condition: | ||||
|     condition: and | ||||
|     conditions: | ||||
|       - condition: state | ||||
|         entity_id: sun.sun | ||||
|         state: 'below_horizon' | ||||
|       - condition: state | ||||
|         entity_id: group.bed | ||||
|         state: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - light.living_room_slider | ||||
|         - light.foyer_door | ||||
|         - light.fridge | ||||
|         - light.M1_front_right | ||||
|         - light.S1 | ||||
|         - light.S4 | ||||
|     - service: switch.turn_on | ||||
|       entity_id: | ||||
|         - switch.kitchen_accents | ||||
|     - delay: '00:05:00' | ||||
|     - service: light.turn_off | ||||
|       entity_id: | ||||
|         - light.S1 | ||||
|         - light.S4 | ||||
|         - light.foyer_door | ||||
|         - light.fridge | ||||
|         - light.living_room_slider | ||||
|         - light.M1_front_right | ||||
							
								
								
									
										59
									
								
								automation/late_night_outside_helper.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										59
									
								
								automation/late_night_outside_helper.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,59 @@ | ||||
| ################################### | ||||
| ##  Late Night lights Section | ||||
| # @CCOSTAN | ||||
| # Original Repo : https://github.com/CCOSTAN/Home-AssistantConfig | ||||
| ################################### | ||||
| - alias: 'Late Night Helper outside' | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: group.all_covers | ||||
|       to: 'open' | ||||
|     - platform: state | ||||
|       entity_id: sun.sun | ||||
|       to: 'below_horizon' | ||||
|       from: 'above_horizon' | ||||
|  | ||||
|   condition: | ||||
|     condition: and | ||||
|     conditions: | ||||
|       - condition: state | ||||
|         entity_id: sun.sun | ||||
|         state: 'below_horizon' | ||||
|       - condition: state | ||||
|         entity_id: group.all_covers | ||||
|         state: 'open' | ||||
|  | ||||
|   action: | ||||
|     - service: scene.turn_on | ||||
|       entity_id: scene.front_full_brightness | ||||
|     - 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 %} | ||||
|     - 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 | ||||
|     - wait_template: >- | ||||
|         {{ states.group.garage_doors.state == 'closed' }} | ||||
|     - service: script.monthly_color_scene | ||||
|     - 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 %} | ||||
							
								
								
									
										41
									
								
								automation/master_bath_accents.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										41
									
								
								automation/master_bath_accents.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,41 @@ | ||||
| ##################################################################################### | ||||
| ###  When we get out of bed at night, turn on the accent lights in the bathroom | ||||
| ## and then turn off the lights when we are back in bed. | ||||
| ## Also turn on the lights sunset comes. (but only if we are home) | ||||
| ### connected to [Etekcity Outlets](http://amzn.to/2efNoBP) | ||||
| ## [433Mhz Transmitter and receiver](http://amzn.to/2dceNY2) | ||||
| ##################################################################################### | ||||
|  | ||||
| - alias: Bedtime Accent Light | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: | ||||
|         - binary_sensor.sleepnumber_carlo_carlo_is_in_bed | ||||
|         - binary_sensor.sleepnumber_carlo_stacey_is_in_bed | ||||
|       to: 'off' | ||||
|     - platform: state | ||||
|       entity_id: sun.sun | ||||
|       to: 'below_horizon' | ||||
|       from: 'above_horizon' | ||||
|     - platform: state | ||||
|       entity_id: group.family | ||||
|       from: 'not_home' | ||||
|       to: 'home' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: sun.sun | ||||
|       state: 'below_horizon' | ||||
|     - condition: state | ||||
|       entity_id: group.family | ||||
|       state: 'home' | ||||
|  | ||||
|   action: | ||||
|     - service: switch.turn_on | ||||
|       entity_id: switch.master_bathroom_accents | ||||
|     - wait_template: >- | ||||
|        {{ not is_state('binary_sensor.sleepnumber_carlo_stacey_is_in_bed', 'off') }} | ||||
|     - wait_template: >- | ||||
|        {{ not is_state('binary_sensor.sleepnumber_carlo_carlo_is_in_bed', 'off') }} | ||||
|     - service: switch.turn_off | ||||
|       entity_id: switch.master_bathroom_accents | ||||
							
								
								
									
										21
									
								
								automation/mealtime.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								automation/mealtime.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| ###################################################################### | ||||
| ##  Time to eat - Set it up! | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: Meal Time | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.meal_time | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - group.dinette_lights | ||||
|         - group.kitchen_lights | ||||
|     - service: light.turn_off | ||||
|       entity_id: | ||||
|         - group.living_room_lights | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.meal_time | ||||
							
								
								
									
										36
									
								
								automation/medicine_logger.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										36
									
								
								automation/medicine_logger.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,36 @@ | ||||
| ################################### | ||||
| ##  LOG Medicine | ||||
| ################################### | ||||
| - alias: 'Log Medicine Activity' | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: medicine_dash | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.medicine | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: input_boolean.turn_on | ||||
|       entity_id: input_boolean.medicine | ||||
|     - service: automation.turn_off | ||||
|       entity_id: automation.log_medicine_activity | ||||
|     - service: logbook.log | ||||
|       data: | ||||
|         name: "Medicine Push" | ||||
|         message: "Took Medicine today." | ||||
|  | ||||
|     - service: mqtt.publish | ||||
|       data_template: | ||||
|         payload: '{{ states("sensor.date") }}' | ||||
|         topic: 'dash/medicine/medicine_time' | ||||
|         retain: true | ||||
|  | ||||
|     - service: script.notify_engine | ||||
|       data_template: | ||||
|         value1: 'Took Medicine today.' | ||||
|         who: "parents" | ||||
|     - delay: | ||||
|         minutes: 1 | ||||
|     - service: automation.turn_on | ||||
							
								
								
									
										57
									
								
								automation/tv_time_on_and_off.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										57
									
								
								automation/tv_time_on_and_off.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,57 @@ | ||||
| ###################################################################### | ||||
| ##  TV Time at sunset or 8pm.  Whichever is later. | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: TV Time | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.TV_time | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|     - platform: state | ||||
|       entity_id: sensor.samsungtv | ||||
|       to: 'Online' | ||||
|       from: 'Offline' | ||||
|     - platform: state | ||||
|       entity_id: sun.sun | ||||
|       to: 'below_horizon' | ||||
|       from: 'above_horizon' | ||||
|     - platform: state | ||||
|       entity_id: media_player.living_room_ultra | ||||
|       to: 'playing' | ||||
|       from: 'idle' | ||||
|     - platform: time | ||||
|       at: '20:00:00' | ||||
|  | ||||
|   condition: | ||||
|     condition: and | ||||
|     conditions: | ||||
|       - condition: state | ||||
|         entity_id: group.family | ||||
|         state: home | ||||
|       - condition: state | ||||
|         entity_id: sensor.samsungtv | ||||
|         state: 'Online' | ||||
|       - condition: state | ||||
|         entity_id: sun.sun | ||||
|         state: 'below_horizon' | ||||
|       - condition: state | ||||
|         entity_id: input_boolean.guest_mode | ||||
|         state: 'off' | ||||
|       - condition: time | ||||
|         after: '20:00:00' | ||||
|  | ||||
|   action: | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.tv_time | ||||
|  | ||||
|     - service: light.turn_off | ||||
|       entity_id: | ||||
|         - group.dinette_lights | ||||
|         - group.kitchen_lights | ||||
|  | ||||
|     - service: switch.turn_on | ||||
|       entity_id: switch.kitchen_accents | ||||
|  | ||||
|     - service: scene.turn_on | ||||
|       entity_id: scene.tv_time | ||||
							
								
								
									
										32
									
								
								automation/upstairs_motion_ifttt.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								automation/upstairs_motion_ifttt.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| # Uses the Nest thermostat to turn on lights and turn them off upstairs. | ||||
|  | ||||
| - alias: 'Upstairs Light Turn on' | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: upstairs_light_on | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.upstairs_away_mode | ||||
|       to: 'off' | ||||
|  | ||||
|   condition: | ||||
|     - condition: state | ||||
|       entity_id: sun.sun | ||||
|       state: 'below_horizon' | ||||
|     - condition: time | ||||
|       before: '23:45' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: group.upstairs | ||||
|  | ||||
| - alias: 'Upstairs Light Turn off' | ||||
|   trigger: | ||||
|     - platform: event | ||||
|       event_type: upstairs_light_off | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.upstairs_away_mode | ||||
|       to: 'on' | ||||
|  | ||||
|   action: | ||||
|     service: light.turn_off | ||||
|     entity_id: group.upstairs | ||||
							
								
								
									
										22
									
								
								automation/work.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										22
									
								
								automation/work.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,22 @@ | ||||
| ###################################################################### | ||||
| ##  Time to work - Set it up! | ||||
| ###################################################################### | ||||
|  | ||||
| - alias: Time to Work | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: input_boolean.work | ||||
|       to: 'on' | ||||
|       from: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_off | ||||
|       entity_id: | ||||
|         - group.dinette_lights | ||||
|         - group.kitchen_lights | ||||
|         - group.living_room_lights | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - light.office_lamp | ||||
|     - service: input_boolean.turn_off | ||||
|       entity_id: input_boolean.work | ||||
							
								
								
									
										73
									
								
								automation/zwave_hallway_door_sensor.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										73
									
								
								automation/zwave_hallway_door_sensor.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,73 @@ | ||||
| ################################### | ||||
| ##  ZWave 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: Hallway ZWave Enerwave Door Sensors Open | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_pantry_opened | ||||
|       to: 'on' | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_linen_opened | ||||
|       to: 'on' | ||||
|  | ||||
|   condition: | ||||
|     condition: or | ||||
|     conditions: | ||||
|       - condition: sun | ||||
|         after: sunset | ||||
|         after_offset: '-03:00:00' | ||||
|       - condition: numeric_state | ||||
|         entity_id: sensor.dark_sky_cloud_coverage | ||||
|         above: 50 | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_on | ||||
|       entity_id: | ||||
|         - light.kids_hallway | ||||
|         - light.k4 | ||||
|     - delay: 00:20:00 | ||||
|     - service: light.turn_off | ||||
|       entity_id: light.kids_hallway | ||||
|  | ||||
| ############################################################## | ||||
| - alias: ZWave Enerwave Door Sensors Closed | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_pantry_opened | ||||
|       to: 'off' | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_linen_opened | ||||
|       to: 'off' | ||||
|  | ||||
|   action: | ||||
|     service: light.turn_off | ||||
|     entity_id: light.kids_hallway | ||||
|  | ||||
| ############################################################## | ||||
| - alias: Shutdown Helper light | ||||
|   hide_entity: True | ||||
|   trigger: | ||||
|     - platform: state | ||||
|       entity_id: light.k4 | ||||
|       to: 'on' | ||||
|       for: '00:20:00' | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_pantry_opened | ||||
|       to: 'off' | ||||
|     - platform: state | ||||
|       entity_id: binary_sensor.hallway_linen_opened | ||||
|       to: 'off' | ||||
|  | ||||
|   condition: | ||||
|     condition: state | ||||
|     entity_id: light.k1 | ||||
|     state: 'off' | ||||
|  | ||||
|   action: | ||||
|     - service: light.turn_off | ||||
|       entity_id: light.k4 | ||||
							
								
								
									
										267
									
								
								configuration.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										267
									
								
								configuration.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,267 @@ | ||||
| homeassistant: | ||||
|   name: Bear Stone Run | ||||
|   latitude: !secret homeassistant_latitude | ||||
|   longitude: !secret homeassistant_longitude | ||||
|   elevation: !secret homeassistant_elevation | ||||
|   unit_system: imperial | ||||
|   time_zone: America/New_York | ||||
|   customize: !include_dir_merge_named customize | ||||
|   customize_domain: | ||||
|     automation: | ||||
|       initial_state: 'on' | ||||
|   customize_glob: | ||||
|     "automation.*watchdog*": | ||||
|       icon: mdi:timer | ||||
|     "sensor.dark_sky_*": | ||||
|       homebridge_hidden: true | ||||
|     "scene.month_*_colors": | ||||
|       hidden: true | ||||
|       emulated_hue_hidden: true | ||||
|       homebridge_hidden: true | ||||
|  | ||||
|   packages: !include_dir_named packages | ||||
|  | ||||
| # cloud: | ||||
| #   alexa: | ||||
| #     filter: | ||||
| #       # include_entities: | ||||
| #       #   - light.kitchen | ||||
| #       include_domains: | ||||
| #         - switch | ||||
| #         - covers | ||||
| #         - group | ||||
| #       # exclude_entities: | ||||
| #       #   - light.living_room | ||||
| #       # exclude_domains: | ||||
| #       #   - light | ||||
| #       #   - media_player | ||||
|  | ||||
| http: | ||||
|   base_url: !secret http_base_url | ||||
|   # server_port: !secret http_port | ||||
|   api_password: !secret http_api_password | ||||
|   ssl_certificate: !secret ssl_certificate | ||||
|   ssl_key: !secret ssl_key | ||||
|   trusted_networks: | ||||
|     - 192.168.10.0/24 | ||||
|     - !secret external_ip | ||||
|   ip_ban_enabled: True | ||||
|   login_attempts_threshold: 3 | ||||
|  | ||||
| frontend: | ||||
|   javascript_version: latest | ||||
|  | ||||
| panel_custom: | ||||
|   - name: floorplan | ||||
|     sidebar_title: Alarm Panel | ||||
|     sidebar_icon: mdi:security-home | ||||
|     url_path: floorplan | ||||
|     config: | ||||
|       hide_app_toolbar: | ||||
|       config: /local/custom_ui/floorplan/floorplan.yaml | ||||
|  | ||||
|   - name: clock | ||||
|     sidebar_title: Alarm Clock | ||||
|     sidebar_icon: mdi:alarm | ||||
|     url_path: clock | ||||
|     config: | ||||
|       hide_app_toolbar: | ||||
|       config: /local/custom_ui/floorplan/floorclock.yaml | ||||
|  | ||||
| notify: | ||||
|   - platform: ios | ||||
|   - name: ios_family | ||||
|     platform: group | ||||
|     services: | ||||
|       - service: ios_staceys_iphone | ||||
|       - service: ios_carlo_6s | ||||
|   - name: ios_parents | ||||
|     platform: group | ||||
|     services: | ||||
|       - service: ios_staceys_iphone | ||||
|       - service: ios_carlo_6s | ||||
|  | ||||
| discovery: | ||||
|   ignore: | ||||
|    - samsung_tv | ||||
| #   - roku | ||||
| #   - google_cast | ||||
|  | ||||
| updater: | ||||
|   include_used_components: true | ||||
|  | ||||
| sun: | ||||
| # for when 0.60.1 is released. | ||||
| # hue: | ||||
| #   bridges: | ||||
| #     - host: 192.168.10.75 | ||||
| #       filename: phue.conf | ||||
| #       allow_unreachable: true | ||||
| #       allow_in_emulated_hue: false | ||||
| #       allow_hue_groups: false | ||||
| #     - host: 192.168.10.76 | ||||
| #       filename: phue2.conf | ||||
| #       allow_unreachable: true | ||||
| #       allow_in_emulated_hue: false | ||||
| #       allow_hue_groups: false | ||||
|  | ||||
| light: | ||||
|   - platform: hue | ||||
|     host: 192.168.10.75 | ||||
|     filename: phue.conf | ||||
|     allow_unreachable: true | ||||
|     allow_in_emulated_hue: false | ||||
|     allow_hue_groups: false | ||||
|  | ||||
| light 2: | ||||
|   - platform: hue | ||||
|     host: 192.168.10.76 | ||||
|     filename: phue2.conf | ||||
|     allow_unreachable: true | ||||
|     allow_in_emulated_hue: false | ||||
|     allow_hue_groups: false | ||||
|  | ||||
| # Reference : https://www.flexfireleds.com/pages/Comparison-between-3528-LEDs-and-5050-LEDs.html | ||||
|   - platform: flux_led | ||||
|     automatic_add: True | ||||
|     devices: | ||||
|       192.168.10.148: | ||||
|         name: led_garage_snip | ||||
|         mode: "rgb" | ||||
|       192.168.10.214: | ||||
|         name: led_outdoor_den | ||||
|         mode: "rgb" | ||||
|       192.168.10.213: | ||||
|         name: led_garage_large | ||||
|         mode: "rgb" | ||||
|       192.168.10.212: | ||||
|         name: led_garage_small | ||||
|         mode: "rgb" | ||||
|  | ||||
| emulated_hue: | ||||
|   host_ip: 192.168.10.10 | ||||
|   listen_port: 8300 | ||||
|   expose_by_default: false | ||||
|  | ||||
| ifttt: | ||||
|   key: !secret ifttt_key | ||||
|  | ||||
| logbook: | ||||
|   exclude: | ||||
|     entities: | ||||
|       - automation.detect_lights_and_adjust_the_brightness_when_turned_on_based_on_time | ||||
|       - automation.cuckoo_clock | ||||
|       - binary_sensor.office_motion | ||||
|       - group.garage_doors | ||||
|       - media_player.LivingRoomCC | ||||
|       - py.warnings | ||||
|       - sensor.since_last_boot | ||||
|       - sensor.since_last_boot_templated | ||||
|       - sensor.small_garage_status | ||||
|       - sensor.large_garage_status | ||||
|       - sensor.small_garage_time_in_state | ||||
|       - sensor.large_garage_time_in_state | ||||
|       - sensor.large_garage_wifi_signal_strength | ||||
|       - sensor.small_garage_wifi_signal_strength | ||||
|       - sensor.small_garage_reflection_rate | ||||
|       - sensor.large_garage_reflection_rate | ||||
|       - sensor.pihole_ads_blocked_today | ||||
|       - sensor.pihole_ads_percentage_blocked_today | ||||
|       - sensor.pihole_dns_queries_today | ||||
|       - sensor.time | ||||
|       - sensor.date | ||||
|       - sensor.floorplan_date | ||||
|       - sensor.floorplan_time | ||||
|       - sensor.ha_uptime | ||||
|  | ||||
| history: | ||||
|   include: | ||||
|     domains: | ||||
|       - sensor | ||||
|       - switch | ||||
|       - media_player | ||||
|       - light | ||||
|       - binary_sensor | ||||
|       - cover | ||||
|  | ||||
|   exclude: | ||||
|     entities: | ||||
|      - sensor.last_boot | ||||
|      - sensor.date | ||||
|      - sensor.pihole_ads_blocked_today | ||||
|      - sensor.pihole_ads_percentage_blocked_today | ||||
|      - sensor.pihole_dns_queries_today | ||||
|      - sensor.since_last_boot | ||||
|      - sensor.since_last_boot_templated | ||||
|      - sensor.floorplan_date | ||||
|      - sensor.floorplan_time | ||||
|      - sensor.ha_uptime | ||||
|      - sensor.time | ||||
|  | ||||
| logger: !include logger.yaml | ||||
| recorder: !include recorder.yaml | ||||
|  | ||||
| mqtt: | ||||
|   broker: 127.0.0.1 | ||||
|   port: 1883 | ||||
|   client_id: home-assistant-Carlo | ||||
|   username: !secret MQTT_username | ||||
|   password: !secret MQTT_password | ||||
|  | ||||
| # zwave: | ||||
| #  usb_path: /dev/ttyACM0 | ||||
| #  config_path: /srv/hass/hass_venv/lib/python3.4/site-packages/libopenzwave-0.3.1-py3.4-linux-armv7l.egg/config | ||||
|  | ||||
| nest: | ||||
|   client_id: !secret nest_client_id | ||||
|   client_secret: !secret nest_client_secret | ||||
|  | ||||
| climate: | ||||
|   platform: nest | ||||
|  | ||||
| media_player: | ||||
|   - platform: cast | ||||
|     host: 192.168.10.209 #CCA1 | ||||
|   - platform: roku | ||||
|  | ||||
|   # - platform: samsungtv | ||||
|   #   host: 192.168.10.207 | ||||
|   #   port: 8001 | ||||
|   #   name: Living Room TV | ||||
|   #   scan_interval: 180 | ||||
|  | ||||
| tts: | ||||
|   - platform: amazon_polly | ||||
|     aws_access_key_id: !secret aws_access_key_ID | ||||
|     aws_secret_access_key: !secret aws_secret_access_key | ||||
|     region_name: 'us-east-1' | ||||
|     text_type: ssml | ||||
|     cache: True | ||||
| #    cache_dir: /data/tts | ||||
|  | ||||
| wink: | ||||
|   # email: !secret wink_username | ||||
|   # password: !secret wink_password | ||||
|   # local_control: True | ||||
|  | ||||
| cover: | ||||
|   platform: garadget | ||||
|   covers: | ||||
|       !secret large_garage_id: | ||||
|         username: !secret garadget_username | ||||
|         password: !secret garadget_password | ||||
|         name: Large Garage | ||||
|       !secret small_garage_id: | ||||
|         username: !secret garadget_username | ||||
|         password: !secret garadget_password | ||||
|         name: Small Garage | ||||
|  | ||||
| group: !include_dir_merge_named group | ||||
| device_tracker: !include_dir_merge_list device_tracker | ||||
| sensor: !include_dir_merge_list sensor | ||||
| automation: !include_dir_merge_list automation | ||||
| scene: !include_dir_merge_list scene | ||||
| switch: !include_dir_merge_list switch | ||||
| script: !include_dir_merge_named script | ||||
| input_boolean: !include_dir_merge_named input_boolean | ||||
| shell_command: !include_dir_merge_named shell_command | ||||
							
								
								
									
										15
									
								
								custom_components/media_player/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								custom_components/media_player/README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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 is a Custom Component by pkozul to allow me to use my Floorplan installation as a Media Player.  This allows me to send all TTS and home notifications to the Fire Tablets I use with Floorplan. | ||||
|  | ||||
| #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> | ||||
							
								
								
									
										329
									
								
								custom_components/media_player/cast.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										329
									
								
								custom_components/media_player/cast.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,329 @@ | ||||
| """ | ||||
| Provide functionality to interact with Cast devices on the network. | ||||
|  | ||||
| For more details about this platform, please refer to the documentation at | ||||
| https://home-assistant.io/components/media_player.cast/ | ||||
| """ | ||||
| # pylint: disable=import-error | ||||
| import logging | ||||
|  | ||||
| import voluptuous as vol | ||||
|  | ||||
| from homeassistant.components.media_player import ( | ||||
|     MEDIA_TYPE_MUSIC, MEDIA_TYPE_TVSHOW, MEDIA_TYPE_VIDEO, SUPPORT_NEXT_TRACK, | ||||
|     SUPPORT_PAUSE, SUPPORT_PLAY_MEDIA, SUPPORT_PREVIOUS_TRACK, | ||||
|     SUPPORT_TURN_OFF, SUPPORT_TURN_ON, SUPPORT_VOLUME_MUTE, SUPPORT_VOLUME_SET, | ||||
|     SUPPORT_STOP, SUPPORT_PLAY, MediaPlayerDevice, PLATFORM_SCHEMA) | ||||
| from homeassistant.const import ( | ||||
|     CONF_HOST, STATE_IDLE, STATE_OFF, STATE_PAUSED, STATE_PLAYING, | ||||
|     STATE_UNKNOWN) | ||||
| import homeassistant.helpers.config_validation as cv | ||||
| import homeassistant.util.dt as dt_util | ||||
|  | ||||
| # Do not upgrade to 1.0.2, it breaks a bunch of stuff | ||||
| # https://github.com/home-assistant/home-assistant/issues/10926 | ||||
| REQUIREMENTS = ['pychromecast==1.0.3'] | ||||
|  | ||||
| _LOGGER = logging.getLogger(__name__) | ||||
|  | ||||
| CONF_IGNORE_CEC = 'ignore_cec' | ||||
| CAST_SPLASH = 'https://home-assistant.io/images/cast/splash.png' | ||||
|  | ||||
| DEFAULT_PORT = 8009 | ||||
|  | ||||
| SUPPORT_CAST = SUPPORT_PAUSE | SUPPORT_VOLUME_SET | SUPPORT_VOLUME_MUTE | \ | ||||
|     SUPPORT_TURN_ON | SUPPORT_TURN_OFF | SUPPORT_PREVIOUS_TRACK | \ | ||||
|     SUPPORT_NEXT_TRACK | SUPPORT_PLAY_MEDIA | SUPPORT_STOP | SUPPORT_PLAY | ||||
|  | ||||
| KNOWN_HOSTS_KEY = 'cast_known_hosts' | ||||
|  | ||||
| PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ | ||||
|     vol.Optional(CONF_HOST): cv.string, | ||||
|     vol.Optional(CONF_IGNORE_CEC): [cv.string], | ||||
| }) | ||||
|  | ||||
|  | ||||
| # pylint: disable=unused-argument | ||||
| def setup_platform(hass, config, add_devices, discovery_info=None): | ||||
|     """Set up the cast platform.""" | ||||
|     import pychromecast | ||||
|  | ||||
|     # Import CEC IGNORE attributes | ||||
|     pychromecast.IGNORE_CEC += config.get(CONF_IGNORE_CEC, []) | ||||
|  | ||||
|     known_hosts = hass.data.get(KNOWN_HOSTS_KEY) | ||||
|     if known_hosts is None: | ||||
|         known_hosts = hass.data[KNOWN_HOSTS_KEY] = [] | ||||
|  | ||||
|     if discovery_info: | ||||
|         host = (discovery_info.get('host'), discovery_info.get('port')) | ||||
|  | ||||
|         if host in known_hosts: | ||||
|             return | ||||
|  | ||||
|         hosts = [host] | ||||
|  | ||||
|     elif CONF_HOST in config: | ||||
|         host = (config.get(CONF_HOST), DEFAULT_PORT) | ||||
|  | ||||
|         if host in known_hosts: | ||||
|             return | ||||
|  | ||||
|         hosts = [host] | ||||
|  | ||||
|     else: | ||||
|         hosts = [tuple(dev[:2]) for dev in pychromecast.discover_chromecasts() | ||||
|                  if tuple(dev[:2]) not in known_hosts] | ||||
|  | ||||
|     casts = [] | ||||
|  | ||||
|     # get_chromecasts() returns Chromecast objects with the correct friendly | ||||
|     # name for grouped devices | ||||
|     all_chromecasts = pychromecast.get_chromecasts() | ||||
|  | ||||
|     for host in hosts: | ||||
|         (_, port) = host | ||||
|         found = [device for device in all_chromecasts | ||||
|                  if (device.host, device.port) == host] | ||||
|         if found: | ||||
|             try: | ||||
|                 casts.append(CastDevice(found[0])) | ||||
|                 known_hosts.append(host) | ||||
|             except pychromecast.ChromecastConnectionError: | ||||
|                 pass | ||||
|  | ||||
|         # do not add groups using pychromecast.Chromecast as it leads to names | ||||
|         # collision since pychromecast.Chromecast will get device name instead | ||||
|         # of group name | ||||
|         elif port == DEFAULT_PORT: | ||||
|             try: | ||||
|                 # add the device anyway, get_chromecasts couldn't find it | ||||
|                 casts.append(CastDevice(pychromecast.Chromecast(*host))) | ||||
|                 known_hosts.append(host) | ||||
|             except pychromecast.ChromecastConnectionError: | ||||
|                 pass | ||||
|  | ||||
|     add_devices(casts) | ||||
|  | ||||
|  | ||||
| class CastDevice(MediaPlayerDevice): | ||||
|     """Representation of a Cast device on the network.""" | ||||
|  | ||||
|     def __init__(self, chromecast): | ||||
|         """Initialize the Cast device.""" | ||||
|         self.cast = chromecast | ||||
|  | ||||
|         self.cast.socket_client.receiver_controller.register_status_listener( | ||||
|             self) | ||||
|         self.cast.socket_client.media_controller.register_status_listener(self) | ||||
|  | ||||
|         self.cast_status = self.cast.status | ||||
|         self.media_status = self.cast.media_controller.status | ||||
|         self.media_status_received = None | ||||
|  | ||||
|     @property | ||||
|     def should_poll(self): | ||||
|         """No polling needed.""" | ||||
|         return False | ||||
|  | ||||
|     @property | ||||
|     def name(self): | ||||
|         """Return the name of the device.""" | ||||
|         return self.cast.device.friendly_name | ||||
|  | ||||
|     # MediaPlayerDevice properties and methods | ||||
|     @property | ||||
|     def state(self): | ||||
|         """Return the state of the player.""" | ||||
|         if self.media_status is None: | ||||
|             return STATE_UNKNOWN | ||||
|         elif self.media_status.player_is_playing: | ||||
|             return STATE_PLAYING | ||||
|         elif self.media_status.player_is_paused: | ||||
|             return STATE_PAUSED | ||||
|         elif self.media_status.player_is_idle: | ||||
|             return STATE_IDLE | ||||
|         elif self.cast.is_idle: | ||||
|             return STATE_OFF | ||||
|         return STATE_UNKNOWN | ||||
|  | ||||
|     @property | ||||
|     def volume_level(self): | ||||
|         """Volume level of the media player (0..1).""" | ||||
|         return self.cast_status.volume_level if self.cast_status else None | ||||
|  | ||||
|     @property | ||||
|     def is_volume_muted(self): | ||||
|         """Boolean if volume is currently muted.""" | ||||
|         return self.cast_status.volume_muted if self.cast_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_content_id(self): | ||||
|         """Content ID of current playing media.""" | ||||
|         return self.media_status.content_id if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_content_type(self): | ||||
|         """Content type of current playing media.""" | ||||
|         if self.media_status is None: | ||||
|             return None | ||||
|         elif self.media_status.media_is_tvshow: | ||||
|             return MEDIA_TYPE_TVSHOW | ||||
|         elif self.media_status.media_is_movie: | ||||
|             return MEDIA_TYPE_VIDEO | ||||
|         elif self.media_status.media_is_musictrack: | ||||
|             return MEDIA_TYPE_MUSIC | ||||
|         return None | ||||
|  | ||||
|     @property | ||||
|     def media_duration(self): | ||||
|         """Duration of current playing media in seconds.""" | ||||
|         return self.media_status.duration if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_image_url(self): | ||||
|         """Image url of current playing media.""" | ||||
|         if self.media_status is None: | ||||
|             return None | ||||
|  | ||||
|         images = self.media_status.images | ||||
|  | ||||
|         return images[0].url if images else None | ||||
|  | ||||
|     @property | ||||
|     def media_title(self): | ||||
|         """Title of current playing media.""" | ||||
|         return self.media_status.title if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_artist(self): | ||||
|         """Artist of current playing media (Music track only).""" | ||||
|         return self.media_status.artist if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_album(self): | ||||
|         """Album of current playing media (Music track only).""" | ||||
|         return self.media_status.album_name if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_album_artist(self): | ||||
|         """Album arist of current playing media (Music track only).""" | ||||
|         return self.media_status.album_artist if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_track(self): | ||||
|         """Track number of current playing media (Music track only).""" | ||||
|         return self.media_status.track if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_series_title(self): | ||||
|         """Return the title of the series of current playing media.""" | ||||
|         return self.media_status.series_title if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_season(self): | ||||
|         """Season of current playing media (TV Show only).""" | ||||
|         return self.media_status.season if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def media_episode(self): | ||||
|         """Episode of current playing media (TV Show only).""" | ||||
|         return self.media_status.episode if self.media_status else None | ||||
|  | ||||
|     @property | ||||
|     def app_id(self): | ||||
|         """Return the ID of the current running app.""" | ||||
|         return self.cast.app_id | ||||
|  | ||||
|     @property | ||||
|     def app_name(self): | ||||
|         """Name of the current running app.""" | ||||
|         return self.cast.app_display_name | ||||
|  | ||||
|     @property | ||||
|     def supported_features(self): | ||||
|         """Flag media player features that are supported.""" | ||||
|         return SUPPORT_CAST | ||||
|  | ||||
|     @property | ||||
|     def media_position(self): | ||||
|         """Position of current playing media in seconds.""" | ||||
|         if self.media_status is None or \ | ||||
|                 not (self.media_status.player_is_playing or | ||||
|                      self.media_status.player_is_paused or | ||||
|                      self.media_status.player_is_idle): | ||||
|             return None | ||||
|  | ||||
|         return self.media_status.current_time | ||||
|  | ||||
|     @property | ||||
|     def media_position_updated_at(self): | ||||
|         """When was the position of the current playing media valid. | ||||
|  | ||||
|         Returns value from homeassistant.util.dt.utcnow(). | ||||
|         """ | ||||
|         return self.media_status_received | ||||
|  | ||||
|     def turn_on(self): | ||||
|         """Turn on the ChromeCast.""" | ||||
|         # The only way we can turn the Chromecast is on is by launching an app | ||||
|         if not self.cast.status or not self.cast.status.is_active_input: | ||||
|             import pychromecast | ||||
|  | ||||
|             if self.cast.app_id: | ||||
|                 self.cast.quit_app() | ||||
|  | ||||
|             self.cast.play_media( | ||||
|                 CAST_SPLASH, pychromecast.STREAM_TYPE_BUFFERED) | ||||
|  | ||||
|     def turn_off(self): | ||||
|         """Turn Chromecast off.""" | ||||
|         self.cast.quit_app() | ||||
|  | ||||
|     def mute_volume(self, mute): | ||||
|         """Mute the volume.""" | ||||
|         self.cast.set_volume_muted(mute) | ||||
|  | ||||
|     def set_volume_level(self, volume): | ||||
|         """Set volume level, range 0..1.""" | ||||
|         self.cast.set_volume(volume) | ||||
|  | ||||
|     def media_play(self): | ||||
|         """Send play command.""" | ||||
|         self.cast.media_controller.play() | ||||
|  | ||||
|     def media_pause(self): | ||||
|         """Send pause command.""" | ||||
|         self.cast.media_controller.pause() | ||||
|  | ||||
|     def media_stop(self): | ||||
|         """Send stop command.""" | ||||
|         self.cast.media_controller.stop() | ||||
|  | ||||
|     def media_previous_track(self): | ||||
|         """Send previous track command.""" | ||||
|         self.cast.media_controller.rewind() | ||||
|  | ||||
|     def media_next_track(self): | ||||
|         """Send next track command.""" | ||||
|         self.cast.media_controller.skip() | ||||
|  | ||||
|     def media_seek(self, position): | ||||
|         """Seek the media to a specific location.""" | ||||
|         self.cast.media_controller.seek(position) | ||||
|  | ||||
|     def play_media(self, media_type, media_id, **kwargs): | ||||
|         """Play media from a URL.""" | ||||
|         self.cast.media_controller.play_media(media_id, media_type) | ||||
|  | ||||
|     # Implementation of chromecast status_listener methods | ||||
|     def new_cast_status(self, status): | ||||
|         """Handle updates of the cast status.""" | ||||
|         self.cast_status = status | ||||
|         self.schedule_update_ha_state() | ||||
|  | ||||
|     def new_media_status(self, status): | ||||
|         """Handle updates of the media status.""" | ||||
|         self.media_status = status | ||||
|         self.media_status_received = dt_util.utcnow() | ||||
|         self.schedule_update_ha_state() | ||||
							
								
								
									
										160
									
								
								custom_components/media_player/floorplan_speaker.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										160
									
								
								custom_components/media_player/floorplan_speaker.py
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,160 @@ | ||||
| """ | ||||
| Support for Floorplan Speaker | ||||
|  | ||||
| """ | ||||
| import voluptuous as vol | ||||
|  | ||||
| from homeassistant.components.media_player import ( | ||||
|     ENTITY_ID_FORMAT, | ||||
|     SUPPORT_PLAY_MEDIA, | ||||
|     SUPPORT_VOLUME_SET, | ||||
|     PLATFORM_SCHEMA, | ||||
|     MediaPlayerDevice) | ||||
| from homeassistant.const import ( | ||||
|     CONF_NAME, STATE_IDLE, STATE_PLAYING) | ||||
| from homeassistant.components import http | ||||
| from homeassistant.components.http import HomeAssistantView | ||||
| from homeassistant.helpers.entity import async_generate_entity_id | ||||
| import homeassistant.helpers.config_validation as cv | ||||
|  | ||||
| import logging | ||||
|  | ||||
| import os | ||||
| import re | ||||
| import sys | ||||
| import time | ||||
| import asyncio | ||||
| import json | ||||
|  | ||||
| DEFAULT_NAME = 'Floorplan Speaker' | ||||
| DEFAULT_VOLUME = 1.0 | ||||
|  | ||||
| SUPPORT_FLOORPLAN_SPEAKER = SUPPORT_PLAY_MEDIA | SUPPORT_VOLUME_SET | ||||
|  | ||||
| CONF_ADDRESS = 'address' | ||||
|  | ||||
| ATTR_ADDRESS = 'address' | ||||
| ATTR_BATTERY_LEVEL = 'battery_level' | ||||
| ATTR_SCREEN_BRIGHTNESS = 'screen_brightness' | ||||
| ATTR_DEVICE_ID = 'device_id' | ||||
| ATTR_SERIAL_NUMBER = 'serial_number' | ||||
|  | ||||
| PLATFORM_SCHEMA = PLATFORM_SCHEMA.extend({ | ||||
|     vol.Optional(CONF_NAME, default=DEFAULT_NAME): cv.string, | ||||
| }) | ||||
|  | ||||
| _LOGGER = logging.getLogger(__name__) | ||||
|  | ||||
| def setup_platform(hass, config, add_devices, discovery_info=None): | ||||
|     name = config.get(CONF_NAME) | ||||
|     address = config.get(CONF_ADDRESS) | ||||
|  | ||||
|     device = FloorplanSpeakerDevice(hass, name, address) | ||||
|  | ||||
|     """Set up an endpoint for the media player.""" | ||||
|     hass.http.register_view(device) | ||||
|  | ||||
|     add_devices([device]) | ||||
|  | ||||
|     return True | ||||
|  | ||||
| class FloorplanSpeakerDevice(MediaPlayerDevice, http.HomeAssistantView): | ||||
|     def __init__(self, hass, name, address): | ||||
|         self._hass = hass | ||||
|         self._name = name | ||||
|         self.entity_id = async_generate_entity_id(ENTITY_ID_FORMAT, name, hass=hass) | ||||
|         self._state = STATE_IDLE | ||||
|         self._media_content_id = None | ||||
|         self._address = address | ||||
|         self._volume = DEFAULT_VOLUME | ||||
|         self._battery_level = None | ||||
|         self._screen_brightness = None | ||||
|         self._device_id = None | ||||
|         self._serial_number = None | ||||
|         self.url = '/api/fully_kiosk/media_player/' + self.entity_id | ||||
|         _LOGGER.info('Setting endpoint: %s', self.url) | ||||
|  | ||||
|     @asyncio.coroutine | ||||
|     def post(self, request): | ||||
|         body = yield from request.text() | ||||
|         try: | ||||
|             data = json.loads(body) if body else None | ||||
|         except ValueError: | ||||
|             return self.json_message('Event data should be valid JSON', HTTP_BAD_REQUEST) | ||||
|  | ||||
|         if data is not None and not isinstance(data, dict): | ||||
|             return self.json_message('Event data should be a JSON object', HTTP_BAD_REQUEST) | ||||
|  | ||||
|         data = json.loads(body) if body else None | ||||
|  | ||||
|         _LOGGER.info("Received from Fully Kiosk: %s: %s", self.url, data) | ||||
|  | ||||
|         self._state = data['state'] | ||||
|         self._media_content_id = data['attributes']['media_content_id'] | ||||
|         self._volume = data['attributes']['volume_level'] | ||||
|         self._address = data['attributes'][ATTR_ADDRESS] | ||||
|         self._battery_level = data['attributes'][ATTR_BATTERY_LEVEL] | ||||
|         self._screen_brightness = data['attributes'][ATTR_SCREEN_BRIGHTNESS] | ||||
|         self._device_id = data['attributes'][ATTR_DEVICE_ID] | ||||
|         self._serial_number = data['attributes'][ATTR_SERIAL_NUMBER] | ||||
|  | ||||
|     @property | ||||
|     def name(self): | ||||
|         return self._name | ||||
|  | ||||
|     @property | ||||
|     def state(self): | ||||
|         return self._state | ||||
|  | ||||
|     @property | ||||
|     def supported_features(self): | ||||
|         return SUPPORT_FLOORPLAN_SPEAKER | ||||
|  | ||||
|     @property | ||||
|     def address(self): | ||||
|         return self._address | ||||
|  | ||||
|     @property | ||||
|     def volume_level(self): | ||||
|         return self._volume | ||||
|  | ||||
|     @property | ||||
|     def media_content_id(self): | ||||
|         return self._media_content_id | ||||
|  | ||||
|     @property | ||||
|     def battery_level(self): | ||||
|         return self._battery_level | ||||
|  | ||||
|     @property | ||||
|     def device_id(self): | ||||
|         return self._device_id | ||||
|  | ||||
|     @property | ||||
|     def serial_number(self): | ||||
|         return self._serial_number | ||||
|  | ||||
|     @property | ||||
|     def device_state_attributes(self): | ||||
|         return { | ||||
|             ATTR_ADDRESS: self._address, | ||||
|             ATTR_BATTERY_LEVEL: self._battery_level, | ||||
|             ATTR_SCREEN_BRIGHTNESS: self._screen_brightness, | ||||
|             ATTR_DEVICE_ID: self._device_id, | ||||
|             ATTR_SERIAL_NUMBER: self._serial_number, | ||||
|         } | ||||
|  | ||||
|     def set_volume_level(self, volume): | ||||
|         self._volume = volume | ||||
|  | ||||
|     def play_media(self, media_type, media_id, **kwargs): | ||||
|         _LOGGER.info('play_media: %s', media_id) | ||||
|  | ||||
|     def media_play(self): | ||||
|         _LOGGER.info('media_play') | ||||
|  | ||||
|     def media_pause(self): | ||||
|         _LOGGER.info('media_pause') | ||||
|  | ||||
|     def media_stop(self): | ||||
|         _LOGGER.info('media_stop') | ||||
							
								
								
									
										419
									
								
								customize/binary_sensors.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										419
									
								
								customize/binary_sensors.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,419 @@ | ||||
| binary_sensor.bedroom_alarm_panel: | ||||
|   friendly_name: 'Bedroom Alarm Panel' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.carlowink: | ||||
|   friendly_name: 'Carlo-Wink' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:router-wireless | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.downstairs_thermostat_fan: | ||||
|   friendly_name: 'Downstairs Thermostat Fan' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.downstairs_thermostat_has_leaf: | ||||
|   friendly_name: 'Downstairs Thermostat Has Leaf' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.downstairs_thermostat_is_locked: | ||||
|   friendly_name: 'Downstairs Thermostat Is Locked' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.downstairs_thermostat_is_using_emergency_heat: | ||||
|   friendly_name: 'Downstairs Thermostat Is Using Emergency Heat' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.downstairs_thermostat_online: | ||||
|   friendly_name: 'Downstairs Thermostat Online' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.entry_alarm_panel: | ||||
|   friendly_name: 'Entry Alarm Panel' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.hallway_linen_opened: | ||||
|   friendly_name: 'Hallway Linen Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:home-variant | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.hallway_nest_protect_kids_hallway_online: | ||||
|   friendly_name: 'Kids Hallway Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.hallway_pantry_opened: | ||||
|   friendly_name: 'Hallway Pantry Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:home-variant | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.iss: | ||||
|   friendly_name: 'Iss Visibility' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:satellite-variant | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.justins_room_nest_protect_online: | ||||
|   friendly_name: 'Justins Room Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.kitchen_door_opened: | ||||
|   friendly_name: 'Kitchen Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|   icon: mdi:home-variant | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.kitchen_nest_protect_online: | ||||
|   friendly_name: 'Kitchen Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.master_bedroom_nest_protect_online: | ||||
|   friendly_name: 'Master Bedroom Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.master_hallway_nest_protect_online: | ||||
|   friendly_name: 'Master Hallway Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio10: | ||||
|   friendly_name: 'Dining Room Windows' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio12: | ||||
|   friendly_name: 'Interior Garage Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio13: | ||||
|   friendly_name: 'Front Den Windows' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio14: | ||||
|   friendly_name: 'Office Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio4: | ||||
|   friendly_name: 'Paige Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu1_gpio5: | ||||
|   friendly_name: 'Front Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio10: | ||||
|   friendly_name: 'Master Bathroom Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio12: | ||||
|   friendly_name: 'Main Slider' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio13: | ||||
|   friendly_name: 'Upstairs Bedroom Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio14: | ||||
|   friendly_name: 'Justin Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio4: | ||||
|   friendly_name: 'Dinette Windows' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio5: | ||||
|   friendly_name: 'Back Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu2_gpio9: | ||||
|   friendly_name: 'Master Slider' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu3_gpio10: | ||||
|   friendly_name: 'Master Bedroom Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu3_gpio14: | ||||
|   friendly_name: 'Upstairs Windows' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu3_gpio4: | ||||
|   friendly_name: 'Stacey Bedroom Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu3_gpio5: | ||||
|   friendly_name: 'Carlo Bedroom Window' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.mcu3_light: | ||||
|   friendly_name: 'Panel Door' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:security-home | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.office_motion: | ||||
|   friendly_name: 'Office Motion Sensor' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:sensor | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.office_nest_protect_online: | ||||
|   friendly_name: 'Office Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.paiges_room_nest_protect_paiges_room_online: | ||||
|   friendly_name: 'Paiges Room Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.sleepnumber_carlo_carlo_is_in_bed: | ||||
|   friendly_name: 'Carlo Is In Bed' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.sleepnumber_carlo_stacey_is_in_bed: | ||||
|   friendly_name: 'Stacey Is In Bed' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_bedroom_nest_protect_online: | ||||
|   friendly_name: 'Upstairs Bedroom Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_living_room_nest_protect_online: | ||||
|   friendly_name: 'Upstairs Living Room Protect' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:nest-protect | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_thermostat_fan: | ||||
|   friendly_name: 'Upstairs Thermostat Fan' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_thermostat_has_leaf: | ||||
|   friendly_name: 'Upstairs Thermostat Has Leaf' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_thermostat_is_locked: | ||||
|   friendly_name: 'Upstairs Thermostat Is Locked' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_thermostat_is_using_emergency_heat: | ||||
|   friendly_name: 'Upstairs Thermostat Is Using Emergency Heat' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| binary_sensor.upstairs_thermostat_online: | ||||
|   friendly_name: 'Upstairs Thermostat Online' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
							
								
								
									
										12
									
								
								customize/covers.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										12
									
								
								customize/covers.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,12 @@ | ||||
| cover.large_garage: | ||||
|   friendly_name: 'Large Garage' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_cover_type: garage_door | ||||
|  | ||||
|  | ||||
| cover.small_garage: | ||||
|   friendly_name: 'Small Garage' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_cover_type: garage_door | ||||
							
								
								
									
										389
									
								
								customize/device_tracker.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										389
									
								
								customize/device_tracker.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,389 @@ | ||||
| device_tracker.actiontechap: | ||||
|   friendly_name: 'Actiontechap' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.bedroom_alarm_panel: | ||||
|   friendly_name: 'Bedroom Alarm Panel' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
| device_tracker.hue_hub_1: | ||||
|   friendly_name: 'Hue Hub 1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
| device_tracker.hue_hub_2: | ||||
|   friendly_name: 'Hue Hub 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
| device_tracker.entry_alarm_panel: | ||||
|   friendly_name: 'Entry Alarm Panel' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.alexa_echo: | ||||
|   friendly_name: 'Alexa Echo' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.amazon_dot: | ||||
|   friendly_name: 'Amazon Dot' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.amazon_fire_stick: | ||||
|   friendly_name: '50f5da4cd5ec' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.carlo: | ||||
|   friendly_name: 'Carlo' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.carlopihole: | ||||
|   friendly_name: 'Carlo-Pihole' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.chromecast_audio_1: | ||||
|   friendly_name: 'Chromecast Audio 1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.chromecast_audio_2: | ||||
|   friendly_name: 'Chromecast Audio 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.circle: | ||||
|   friendly_name: 'Circle' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
| device_tracker.study_ap: | ||||
|   friendly_name: 'Ubiquity AP Study' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
| device_tracker.cisco_ap: | ||||
|   friendly_name: 'Cisco Ap' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.hue_h_1: | ||||
|   friendly_name: 'Hue H 1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.hue_h_2: | ||||
|   friendly_name: 'Hue H 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.ipmdemounit: | ||||
|   friendly_name: 'Ipmdemounit' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.justin_dot: | ||||
|   friendly_name: 'Justin-Dot' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.large_garage: | ||||
|   friendly_name: 'Large Garage' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.living_room_roku: | ||||
|   friendly_name: 'Living Room Roku' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.master_bedroom_roku: | ||||
|   friendly_name: 'Master Bedroom Roku' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nest_downstairs: | ||||
|   friendly_name: 'Nest Downstairs' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nest_upstairs: | ||||
|   friendly_name: 'Nest Upstairs' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nodemcu1: | ||||
|   friendly_name: 'Nodemcu1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:chip | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nodemcu2: | ||||
|   friendly_name: 'Nodemcu2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:chip | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nodemcu3: | ||||
|   friendly_name: 'Nodemcu3' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:chip | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.nodemcu4: | ||||
|   friendly_name: 'A020a618077f' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:chip | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.printer: | ||||
|   friendly_name: '001ba94e7b4a' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.rachio: | ||||
|   friendly_name: 'Rachio' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.rgb_led_garage_large: | ||||
|   friendly_name: 'Rgb Led Garage Large' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.rgb_led_garage_small: | ||||
|   friendly_name: 'Rgb Led Garage Small' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.rgb_led_outdoor_den: | ||||
|   friendly_name: 'Rgb Led Outdoor Den' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.samsungtv: | ||||
|   friendly_name: 'Samsung Tv' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.skybell: | ||||
|   friendly_name: 'Skybell' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.sleep_number_bed: | ||||
|   friendly_name: 'Sleep Number Bed' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.small_garage: | ||||
|   friendly_name: 'Small Garage' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.smart_water_meter: | ||||
|   friendly_name: 'Smart Water Meter' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.stacey: | ||||
|   friendly_name: 'Stacey' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.staceyiphone_nat: | ||||
|   friendly_name: 'Stacey Iphone 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.tablotv: | ||||
|   friendly_name: 'Tablotv' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.trendnetap: | ||||
|   friendly_name: 'Trendnet Ap' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.unifi_ap: | ||||
|   friendly_name: 'Unifi Ap' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.wii: | ||||
|   friendly_name: 'Wii' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
|  | ||||
|  | ||||
|  | ||||
| device_tracker.withings_scale: | ||||
|   friendly_name: 'Withings Scale' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|   icon: False | ||||
							
								
								
									
										235
									
								
								customize/groups.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										235
									
								
								customize/groups.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,235 @@ | ||||
| group.all_automations: | ||||
|   friendly_name: 'All Automations' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.all_covers: | ||||
|   friendly_name: 'All Covers' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.all_devices: | ||||
|   friendly_name: 'All Devices' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.all_lights: | ||||
|   friendly_name: 'All Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
| group.all_scripts: | ||||
|   friendly_name: 'All Scripts' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|   homebridge_hidden: true | ||||
|  | ||||
| group.all_switches: | ||||
|   friendly_name: 'All Switches' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
| group.amps: | ||||
|   friendly_name: 'Amps' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.sleep_number_bed: | ||||
|   friendly_name: 'Sleep Number Bed' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.bedroom_lights: | ||||
|   friendly_name: 'Bedroom Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.den_lights: | ||||
|   friendly_name: 'Den Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.dinette_lights: | ||||
|   friendly_name: 'Dinette Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.dining_room_lights: | ||||
|   friendly_name: 'Dining Room Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.exterior_lights: | ||||
|   friendly_name: 'Exterior Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.family: | ||||
|   friendly_name: 'Family' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.foyer_lights: | ||||
|   friendly_name: 'Foyer Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.garage_doors: | ||||
|   friendly_name: 'Garage Doors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.garage_lights: | ||||
|   friendly_name: 'Garage Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.hallway_lights: | ||||
|   friendly_name: 'Hallway Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.home_modes: | ||||
|   friendly_name: 'Home Modes' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.interior_lights: | ||||
|   friendly_name: 'Interior Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.justins_room: | ||||
|   friendly_name: 'Justins Room' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.kitchen_lights: | ||||
|   friendly_name: 'Kitchen Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.living_room_accents: | ||||
|   friendly_name: 'Living Room Accents' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.living_room_lights: | ||||
|   friendly_name: 'Living Room Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.media_players: | ||||
|   friendly_name: 'Media Players' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.network: | ||||
|   friendly_name: 'Network' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.office_lights: | ||||
|   friendly_name: 'Office Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.outdoor_front_lights: | ||||
|   friendly_name: 'Outdoor Front Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.outdoor_pool_lights: | ||||
|   friendly_name: 'Outdoor Pool Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.paiges_room: | ||||
|   friendly_name: 'Paiges Room' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.sensors: | ||||
|   friendly_name: 'Sensors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.switches: | ||||
|   friendly_name: 'Switches' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
| group.upstairs_lights: | ||||
|   friendly_name: 'Upstairs Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
| group.weather: | ||||
|   friendly_name: 'Weather' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
							
								
								
									
										177
									
								
								customize/input_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										177
									
								
								customize/input_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,177 @@ | ||||
| input_boolean.alert_mode: | ||||
|   friendly_name: 'Alert Mode' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:alert-octagram | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.color_tornado: | ||||
|   friendly_name: 'Color Tornado' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:invert-colors | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.daylight_override: | ||||
|   friendly_name: 'Daylight Override' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.flash: | ||||
|   friendly_name: 'Flash' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:yin-yang | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.good_morning: | ||||
|   friendly_name: 'Good Morning' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:weather-sunset-up | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.good_night: | ||||
|   friendly_name: 'Good Night' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|   icon: mdi:weather-night | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.guard_dog: | ||||
|   friendly_name: 'Guard Dog' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:paw | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.guest_mode: | ||||
|   friendly_name: 'Guest Mode' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:account-alert | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.home_stats: | ||||
|   friendly_name: 'Home Stats' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:chart-bar | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.house_station: | ||||
|   friendly_name: 'House Station' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:radio | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.lastmsg: | ||||
|   friendly_name: 'Repeat Message' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:repeat-once | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.meal_time: | ||||
|   friendly_name: 'Meal Time' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:food | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.medicine: | ||||
|   friendly_name: 'Medicine' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.responsibilities: | ||||
|   friendly_name: 'Responsibilities' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:delete-sweep | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.school_mode: | ||||
|   friendly_name: 'School Mode' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:school | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.self_destruct: | ||||
|   friendly_name: 'Self Destruct' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:skull | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.sleepy_dog: | ||||
|   friendly_name: 'Sleepy Dog' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:bell-sleep | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.speech_notifications: | ||||
|   friendly_name: 'Speech Notifications' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:speaker-wireless | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.tv_time: | ||||
|   friendly_name: 'Tv Time' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:television-guide | ||||
|  | ||||
|  | ||||
|  | ||||
| input_boolean.work: | ||||
|   friendly_name: 'Work' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|   icon: mdi:briefcase | ||||
							
								
								
									
										423
									
								
								customize/lights.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										423
									
								
								customize/lights.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,423 @@ | ||||
| light.bedroom: | ||||
|   friendly_name: 'Bedroom' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.bedroom_hallway: | ||||
|   friendly_name: 'Bedroom Hallway' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.couch_1: | ||||
|   friendly_name: 'Couch 1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.d1: | ||||
|   friendly_name: 'D1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.d2: | ||||
|   friendly_name: 'D2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.den_lamp: | ||||
|   friendly_name: 'Den Lamp' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.f1: | ||||
|   friendly_name: 'F1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.f2: | ||||
|   friendly_name: 'F2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.fridge: | ||||
|   friendly_name: 'Fridge' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.garage_attic: | ||||
|   friendly_name: 'Garage Attic' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.justin_go: | ||||
|   friendly_name: 'Justin Go' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k1: | ||||
|   friendly_name: 'K1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k2: | ||||
|   friendly_name: 'K2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k3: | ||||
|   friendly_name: 'K3' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k4: | ||||
|   friendly_name: 'K4' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k5: | ||||
|   friendly_name: 'K5' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.k6: | ||||
|   friendly_name: 'K6' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.kids_hallway: | ||||
|   friendly_name: 'Kids Hallway' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.led_garage_large: | ||||
|   friendly_name: 'Garage Large Led' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
| light.led_garage_snip: | ||||
|   friendly_name: 'Garage Snip Led' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
| light.led_garage_small: | ||||
|   friendly_name: 'Garage Small Led' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.led_outdoor_den: | ||||
|   friendly_name: 'Outdoor Den Led' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.m1_back_left: | ||||
|   friendly_name: 'M1 Back Left' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.m1_back_right: | ||||
|   friendly_name: 'M1 Back Right' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.m1_front_left: | ||||
|   friendly_name: 'M1 Front Left' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.m1_front_right: | ||||
|   friendly_name: 'M1 Front Right' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.m1_slider: | ||||
|   friendly_name: 'M1 Slider' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.master_toilet: | ||||
|   friendly_name: 'Master Toilet' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.office_lamp: | ||||
|   friendly_name: 'Office Lamp' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outdoor_bathroom: | ||||
|   friendly_name: 'Outdoor Bathroom' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outdoor_foyer: | ||||
|   friendly_name: 'Outdoor Foyer' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outdoor_sconce_1: | ||||
|   friendly_name: 'Outdoor Sconce 1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outdoor_sconce_2: | ||||
|   friendly_name: 'Outdoor Sconce 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outdoor_sconce_3: | ||||
|   friendly_name: 'Outdoor Sconce 3' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.outside_pool_lights: | ||||
|   friendly_name: 'Outside Pool Lights' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.p1_back_left: | ||||
|   friendly_name: 'P1 Back Left' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.p1_back_right: | ||||
|   friendly_name: 'P1 Back Right' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.p1_front_left: | ||||
|   friendly_name: 'P1 Front Left' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.p1_front_right: | ||||
|   friendly_name: 'P1 Front Right' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.paige_go: | ||||
|   friendly_name: 'Paige Go' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.s1: | ||||
|   friendly_name: 'S1' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.s2: | ||||
|   friendly_name: 'S2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.s3: | ||||
|   friendly_name: 'S3' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.s4: | ||||
|   friendly_name: 'S4' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.sink: | ||||
|   friendly_name: 'Sink' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.tv_light: | ||||
|   friendly_name: 'Tv Light' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.tv_stand_light: | ||||
|   friendly_name: 'Tv Stand Light' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| light.upstairs_lamp: | ||||
|   friendly_name: 'Upstairs Lamp' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: True | ||||
							
								
								
									
										79
									
								
								customize/scenes.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										79
									
								
								customize/scenes.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,79 @@ | ||||
| scene.all_off: | ||||
|   friendly_name: 'All Off' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.front_full_brightness: | ||||
|   friendly_name: 'Front Full Brightness' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|  | ||||
| scene.month_fathers_day_colors: | ||||
|   friendly_name: 'Fathers Day Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
| scene.month_cinco_de_mayo_colors: | ||||
|   friendly_name: 'Month Cinco De Mayo Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_easter_colors: | ||||
|   friendly_name: 'Month Easter Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_marti_gras_colors: | ||||
|   friendly_name: 'Month Marti Gras Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_rwb_colors: | ||||
|   friendly_name: 'Month Rwb Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_st_patty_colors: | ||||
|   friendly_name: 'Month St Patty Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_standard_colors: | ||||
|   friendly_name: 'Month Standard Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.month_valentine_colors: | ||||
|   friendly_name: 'Month Valentine Colors' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| scene.tv_time: | ||||
|   friendly_name: 'Tv Time' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
							
								
								
									
										89
									
								
								customize/scripts.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										89
									
								
								customize/scripts.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,89 @@ | ||||
| ################################### | ||||
| ##  Scripts Section | ||||
| ################################### | ||||
|  | ||||
| script.amp_settings: | ||||
|   friendly_name: 'AMP Settings' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.dog_bark: | ||||
|   friendly_name: 'Dog Bark' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.flash_notify: | ||||
|   friendly_name: 'Flash Notify' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.emergency: | ||||
|   friendly_name: 'Emergency' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
| script.front_house_motion: | ||||
|   friendly_name: 'Front House Motion' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| script.notify_engine: | ||||
|   friendly_name: 'Ifttt Notify' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| script.interior_off: | ||||
|   friendly_name: 'Interior Off' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| script.monthly_color_scene: | ||||
|   friendly_name: 'Monthly Front House Scene' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| script.skybell_pressed: | ||||
|   friendly_name: 'Skybell Pressed' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
| script.switch_turn_off_all: | ||||
|   friendly_name: 'Switch Turn Off All' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|  | ||||
| script.speechcon: | ||||
|   friendly_name: 'Speechcon' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.speech_processing: | ||||
|   friendly_name: 'Voice Processing' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.speech_engine: | ||||
|   friendly_name: 'Voice Notify' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
|  | ||||
| script.tweet_engine: | ||||
|   friendly_name: 'Tweet Notify' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: True | ||||
							
								
								
									
										1013
									
								
								customize/sensors.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1013
									
								
								customize/sensors.yaml
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										117
									
								
								customize/switches.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										117
									
								
								customize/switches.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,117 @@ | ||||
| ################################### | ||||
| ##  Switches Section | ||||
| ################################### | ||||
| switch.den_outlet: | ||||
|   friendly_name: 'Den Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.foyer_outlet: | ||||
|   friendly_name: 'Foyer Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.front_door_outlet: | ||||
|   friendly_name: 'Front Door Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
| switch.garage_outlet: | ||||
|   friendly_name: 'Garage Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
| switch.landscaping: | ||||
|   friendly_name: 'Landscaping Lights' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: True | ||||
|   homebridge_hidden: True | ||||
|  | ||||
| switch.back_landscaping: | ||||
|   friendly_name: 'Back Landscaping' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: false | ||||
|   icon: mdi:flower | ||||
|  | ||||
|  | ||||
| switch.front_landscaping: | ||||
|   friendly_name: 'Front Landscaping' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|   icon: mdi:flower | ||||
|  | ||||
| switch.pool_deck: | ||||
|   friendly_name: 'Pool Deck' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   homebridge_hidden: False | ||||
|  | ||||
| switch.kitchen_accent_2: | ||||
|   friendly_name: 'Kitchen Accents 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   icon: mdi:lightbulb-outline | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.kitchen_accents: | ||||
|   friendly_name: 'Kitchen Accents' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:lightbulb-outline | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.living_room_amp: | ||||
|   friendly_name: 'Living Room Amp' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:music-circle | ||||
|  | ||||
| switch.living_room_outlet: | ||||
|   friendly_name: 'Living Room Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.master_bathroom_accents: | ||||
|   friendly_name: 'Master Bathroom Accents' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:lightbulb-outline | ||||
|   assumed_state: true | ||||
|  | ||||
|  | ||||
| switch.outlet_304_2: | ||||
|   friendly_name: 'Outlet 304 2' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   icon: mdi:power-plug | ||||
|   assumed_state: true | ||||
|  | ||||
| switch.printer_outlet: | ||||
|   friendly_name: 'Printer Outlet' | ||||
|   emulated_hue_hidden: False | ||||
|   hidden: False | ||||
|   icon: mdi:printer | ||||
|   assumed_state: true | ||||
|  | ||||
| switch.pihole_temp_disable: | ||||
|   friendly_name: 'Pihole Temp Disable' | ||||
|   emulated_hue_hidden: True | ||||
|   hidden: False | ||||
|   homebridge_hidden: true | ||||
							
								
								
									
										18
									
								
								customize/weather.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										18
									
								
								customize/weather.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,18 @@ | ||||
|  | ||||
| ################################### | ||||
| ##  Nest Section | ||||
| ################################### | ||||
| climate.downstairs: | ||||
|   friendly_name: 'Nest Downstairs' | ||||
|   icon: mdi:air-conditioner | ||||
| climate.upstairs: | ||||
|   friendly_name: 'Nest Upstairs' | ||||
|   icon: mdi:air-conditioner | ||||
|  | ||||
|    | ||||
| ################################### | ||||
| ##  Sun Section | ||||
| ################################### | ||||
| sun.sun: | ||||
|   hidden: true | ||||
|    | ||||
							
								
								
									
										98
									
								
								dasher/dasher
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										98
									
								
								dasher/dasher
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,98 @@ | ||||
| #!/bin/sh | ||||
| ### BEGIN INIT INFO | ||||
| # Provides: | ||||
| # Required-Start:    $remote_fs $syslog | ||||
| # Required-Stop:     $remote_fs $syslog | ||||
| # Default-Start:     2 3 4 5 | ||||
| # Default-Stop:      0 1 6 | ||||
| # Short-Description: Start daemon at boot time | ||||
| # Description:       Enable service provided by daemon. | ||||
| ### END INIT INFO | ||||
|  | ||||
| dir="/home/pi/dasher" | ||||
| cmd="DEBUG=* node app.js" | ||||
| user="root" | ||||
|  | ||||
| name=`basename $0` | ||||
| pid_file="/var/run/$name.pid" | ||||
| stdout_log="/var/log/$name.log" | ||||
| stderr_log="/var/log/$name.err" | ||||
|  | ||||
| get_pid() { | ||||
|     cat "$pid_file" | ||||
| } | ||||
|  | ||||
| is_running() { | ||||
|     [ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1 | ||||
| } | ||||
|  | ||||
| case "$1" in | ||||
|     start) | ||||
|     if is_running; then | ||||
|         echo "Already started" | ||||
|     else | ||||
|         echo "Starting $name" | ||||
|         cd "$dir" | ||||
|         if [ -z "$user" ]; then | ||||
|             sudo $cmd >> "$stdout_log" 2>> "$stderr_log" & | ||||
|         else | ||||
|             sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" & | ||||
|         fi | ||||
|         echo $! > "$pid_file" | ||||
|         if ! is_running; then | ||||
|             echo "Unable to start, see $stdout_log and $stderr_log" | ||||
|             exit 1 | ||||
|         fi | ||||
|     fi | ||||
|     ;; | ||||
|     stop) | ||||
|     if is_running; then | ||||
|         echo -n "Stopping $name.." | ||||
|         kill `get_pid` | ||||
|         for i in {1..10} | ||||
|         do | ||||
|             if ! is_running; then | ||||
|                 break | ||||
|             fi | ||||
|  | ||||
|             echo -n "." | ||||
|             sleep 1 | ||||
|         done | ||||
|         echo | ||||
|  | ||||
|         if is_running; then | ||||
|             echo "Not stopped; may still be shutting down or shutdown may have failed" | ||||
|             exit 1 | ||||
|         else | ||||
|             echo "Stopped" | ||||
|             if [ -f "$pid_file" ]; then | ||||
|                 rm "$pid_file" | ||||
|             fi | ||||
|         fi | ||||
|     else | ||||
|         echo "Not running" | ||||
|     fi | ||||
|     ;; | ||||
|     restart) | ||||
|     $0 stop | ||||
|     if is_running; then | ||||
|         echo "Unable to stop, will not attempt to start" | ||||
|         exit 1 | ||||
|     fi | ||||
|     $0 start | ||||
|     ;; | ||||
|     status) | ||||
|     if is_running; then | ||||
|         echo "Running" | ||||
|     else | ||||
|         echo "Stopped" | ||||
|         exit 1 | ||||
|     fi | ||||
|     ;; | ||||
|     *) | ||||
|     echo "Usage: $0 {start|stop|restart|status}" | ||||
|     exit 1 | ||||
|     ;; | ||||
| esac | ||||
|  | ||||
| exit 0 | ||||
							
								
								
									
										15
									
								
								device_tracker/README.md
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										15
									
								
								device_tracker/README.md
									
									
									
									
									
										Executable file
									
								
							| @@ -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! | ||||
|  | ||||
| For presence detection, I basically just use NMAP.  I've used it from the beginning and it's been rock solid ever since.  No issues at all and if it ain't broken, why fix it? | ||||
|  | ||||
| #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> | ||||
							
								
								
									
										7
									
								
								device_tracker/nmap.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								device_tracker/nmap.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| - platform: nmap_tracker | ||||
|   hosts: 192.168.10.1/24 | ||||
|   track_new_devices: no | ||||
|   exclude: | ||||
|     - 192.168.10.10 | ||||
| #  scan_options: " --privileged -sP " | ||||
| # consider_home: 1800 - Added to known_devices.yaml instead on a device by device basis. | ||||
							
								
								
									
										5
									
								
								device_tracker/ping.yaml.disabled
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								device_tracker/ping.yaml.disabled
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| - platform: ping | ||||
|   hosts: | ||||
|     chromecast_2: 192.168.1.231 | ||||
|     camera_driveway: 192.168.1.15 | ||||
|     access_point: 192.168.1.59 | ||||
							
								
								
									
										6
									
								
								device_tracker/unifi.yaml.disabled
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								device_tracker/unifi.yaml.disabled
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| - platform: unifi | ||||
|   username: !secret unifi_username | ||||
|   password: !secret unifi_password | ||||
|   host: !secret unifi_host | ||||
|   verify_ssl: false | ||||
|   track_new_devices: no | ||||
							
								
								
									
										1
									
								
								emulated_hue_ids.json
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										1
									
								
								emulated_hue_ids.json
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1 @@ | ||||
| {"52": "light.led_garage_small", "54": "light.led_outdoor_den", "31": "group.outdoor_lights", "49": "input_boolean.guard_dog", "13": "group.kitchen_lights", "17": "input_boolean.guest_mode", "60": "input_boolean.sleepy_dog", "29": "group.amps", "37": "input_boolean.alert_mode", "65": "switch.computer_screens", "20": "switch.garage_outlet", "24": "group.outdoor_pool_lights", "67": "group.fire_tablet", "41": "input_boolean.home_stats", "38": "scene.front_full_brightness", "5": "switch.living_room_amp", "12": "group.all_lights", "39": "input_boolean.last_message", "21": "group.bedroom_lights", "33": "group.office_lights", "50": "input_boolean.flash", "9": "switch.living_room_outlet", "61": "switch.front_landscaping", "40": "input_boolean.responsibilities", "62": "switch.back_landscaping", "18": "group.den_lights", "42": "input_boolean.meal_time", "70": "switch.pool_deck", "58": "input_boolean.radio", "63": "group.landscaping", "10": "group.garage_lights", "14": "switch.den_outlet", "64": "input_boolean.lastmsg", "26": "scene.living_room_tv_time", "71": "light.led_garage_snip", "53": "input_boolean.color_tornado", "8": "switch.printer_outlet", "48": "switch.ge_outdoor_outle_switch_8_0", "46": "light.garage_large", "16": "switch.kitchen_accent_2", "69": "switch.landscaping", "1": "switch.front_door_outlet", "28": "switch.foyer_outlet", "66": "input_boolean.self_destruct", "45": "input_boolean.work", "30": "switch.outlet_304_4", "19": "group.all_switches", "51": "light.led_garage_large", "34": "group.exterior_lights", "11": "group.foyer_lights", "57": "input_boolean.garage_check", "2": "group.outdoor_front_lights", "59": "input_boolean.house_station", "7": "group.living_room_accents", "43": "input_boolean.tv_time", "15": "group.hallway_lights", "47": "switch.ge_outdoor_outle_switch_7_0", "56": "input_boolean.medicine", "22": "light.outdoor_den", "4": "group.dinette_lights", "55": "input_boolean.outside_weather", "3": "switch.kitchen_accents", "68": "switch.master_bathroom_accents", "44": "input_boolean.good_morning", "35": "input_boolean.school_mode", "23": "light.garage_left", "6": "group.dining_room_lights", "25": "group.interior_lights", "27": "group.upstairs_lights", "32": "group.living_room_lights", "36": "input_boolean.speech_notifications", "72": "input_boolean.clock_snooze"} | ||||
							
								
								
									
										25
									
								
								group/Indoor_Outdoor.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										25
									
								
								group/Indoor_Outdoor.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| Interior_Lights: | ||||
|   entities: | ||||
|     - group.bedroom_lights | ||||
|     - group.living_room_lights | ||||
|     - group.living_room_accents | ||||
|     - group.dinette_lights | ||||
|     - group.dining_room_lights | ||||
|     - group.den_lights | ||||
|     - group.foyer_lights | ||||
|     - group.office_lights | ||||
|     - group.hallway_lights | ||||
|     - group.kitchen_lights | ||||
|     - group.upstairs_lights | ||||
|     - group.outdoor_pool_lights | ||||
|     - group.garage_lights | ||||
|     - group.paiges_room | ||||
|     - group.justins_room | ||||
|  | ||||
| Exterior_Lights: | ||||
|   entities: | ||||
|     - light.outdoor_bathroom | ||||
|     - light.outside_pool_lights | ||||
|     - group.outdoor_pool_lights | ||||
|     - group.outdoor_front_lights | ||||
|     - group.landscaping | ||||
							
								
								
									
										5
									
								
								group/MQTT.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										5
									
								
								group/MQTT.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| MQTT: | ||||
|   entities: | ||||
|     - sensor.rachio_watering_time | ||||
|     - sensor.medicine_time | ||||
|     - sensor.last_message | ||||
							
								
								
									
										4
									
								
								group/amps.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										4
									
								
								group/amps.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| AMPs: | ||||
|   entities: | ||||
|     - switch.living_room_amp | ||||
| #    - switch.bathroom_amp | ||||
							
								
								
									
										8
									
								
								group/doors.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								group/doors.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| doors: | ||||
|   name: Doors | ||||
|   entities: | ||||
|     - binary_sensor.hallway_linen_opened | ||||
|     - binary_sensor.hallway_pantry_opened | ||||
|     - binary_sensor.kitchen_door_opened | ||||
|     - binary_sensor.MCU2_GPIO12 # Main Slider | ||||
|     - binary_sensor.MCU3_Light  # Alarm Door | ||||
							
								
								
									
										13
									
								
								group/garage.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										13
									
								
								group/garage.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| garage_doors: | ||||
|   name: Garage doors | ||||
|   entities: | ||||
|     - cover.large_garage | ||||
|     - sensor.large_garage_status | ||||
|     - sensor.large_garage_time_in_state | ||||
|     - sensor.large_garage_wifi_signal_strength | ||||
|     - sensor.large_garage_reflection_rate | ||||
|     - cover.small_garage | ||||
|     - sensor.small_garage_status | ||||
|     - sensor.small_garage_time_in_state | ||||
|     - sensor.small_garage_wifi_signal_strength | ||||
|     - sensor.small_garage_reflection_rate | ||||
							
								
								
									
										8
									
								
								group/home_mode.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										8
									
								
								group/home_mode.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,8 @@ | ||||
| home_modes: | ||||
|   control: hidden | ||||
|   entities: | ||||
|     - input_boolean.guest_mode | ||||
|     - input_boolean.school_mode | ||||
|     - input_boolean.alert_mode | ||||
|     - input_boolean.speech_notifications | ||||
|     - input_boolean.last_message | ||||
							
								
								
									
										97
									
								
								group/lights.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										97
									
								
								group/lights.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| Bedroom lights: | ||||
|   entities: | ||||
|     - light.bedroom | ||||
|  | ||||
| kitchen lights: | ||||
|   entities: | ||||
|     - light.k1 | ||||
|     - light.k2 | ||||
|     - light.k3 | ||||
|     - light.k4 | ||||
|     - light.k5 | ||||
|     - light.k6 | ||||
|     - light.sink | ||||
|     - light.fridge | ||||
|  | ||||
| Living Room lights: | ||||
|   entities: | ||||
|     - light.m1_back_left | ||||
|     - light.m1_back_right | ||||
|     - light.m1_front_left | ||||
|     - light.m1_front_right | ||||
|     - light.m1_slider | ||||
|  | ||||
| Living Room Accents: | ||||
|   entities: | ||||
|     - light.couch_1 | ||||
|     - light.tv_light | ||||
|     - light.tv_stand_light | ||||
|  | ||||
| Dinette lights: | ||||
|   entities: | ||||
|     - light.d1 | ||||
|     - light.d2 | ||||
|  | ||||
| Den lights: | ||||
|   entities: | ||||
|     - light.den_lamp | ||||
|  | ||||
| Foyer lights: | ||||
|   entities: | ||||
|     - light.f1 | ||||
|     - light.f2 | ||||
|  | ||||
| Office lights: | ||||
|   entities: | ||||
|     - light.office_lamp | ||||
|  | ||||
| Upstairs lights: | ||||
|   entities: | ||||
|     - light.upstairs_lamp | ||||
|     - light.upstairs_hallway | ||||
|  | ||||
| Dining Room lights: | ||||
|   entities: | ||||
|     - light.s1 | ||||
|     - light.s2 | ||||
|     - light.s3 | ||||
|     - light.s4 | ||||
|  | ||||
| Outdoor Pool Lights: | ||||
|   entities: | ||||
|     - light.p1_front_left | ||||
|     - light.p1_front_right | ||||
|     - light.p1_back_left | ||||
|     - light.p1_back_right | ||||
|  | ||||
| Outdoor Front Lights: | ||||
|   entities: | ||||
|     - light.outdoor_foyer | ||||
|     - light.outdoor_sconce_1 | ||||
|     - light.outdoor_sconce_2 | ||||
|     - light.outdoor_sconce_3 | ||||
|     - light.led_garage_large | ||||
|     - light.led_garage_snip | ||||
|     - light.led_garage_small | ||||
|     - light.led_outdoor_den | ||||
|     - light.stone_door | ||||
|  | ||||
| Garage lights: | ||||
|   control: hidden | ||||
|   entities: | ||||
|     - light.garage_attic | ||||
|     - switch.garage_outlet | ||||
|  | ||||
| Hallway Lights: | ||||
|   entities: | ||||
|     - light.kids_hallway | ||||
|     - light.bedroom_hallway | ||||
|     - light.upstairs_hallway | ||||
|  | ||||
| Justins Room: | ||||
|   entities: | ||||
|     - light.justin_go | ||||
|  | ||||
| Paiges Room: | ||||
|   entities: | ||||
|     - light.paige_go | ||||
							
								
								
									
										9
									
								
								group/media_players.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										9
									
								
								group/media_players.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,9 @@ | ||||
| media_players: | ||||
|   entities: | ||||
|     - media_player.livingroomcc | ||||
|     - media_player.whole_house | ||||
|     - media_player.living_room_tv | ||||
|     - media_player.living_room_ultra | ||||
|     - media_player.upstairs_living_room | ||||
|     - media_player.alarm_clock | ||||
|     - media_player.bedroom_alarm_panel | ||||
							
								
								
									
										6
									
								
								group/motion.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										6
									
								
								group/motion.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,6 @@ | ||||
| motion: | ||||
|   name: Motion Detectors | ||||
|   entities: | ||||
|     - binary_sensor.office_motion | ||||
|     - binary_sensor.entry_alarm_panel | ||||
|     - binary_sensor.bedroom_alarm_panel | ||||
							
								
								
									
										7
									
								
								group/people.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								group/people.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| Family: | ||||
|   entities: | ||||
|     - device_tracker.carlo | ||||
|     - device_tracker.stacey | ||||
|     - device_tracker.franco | ||||
|     - device_tracker.yolanda | ||||
|     - device_tracker.joyce_ipad | ||||
							
								
								
									
										3
									
								
								group/sensors.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3
									
								
								group/sensors.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,3 @@ | ||||
| Sensors: | ||||
|   entities: | ||||
|     - binary_sensor.aeotec_dsb04100_doorwindow_sensor_sensor_3_0 | ||||
							
								
								
									
										16
									
								
								group/switches.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										16
									
								
								group/switches.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,16 @@ | ||||
| Interior Switches: | ||||
|   entities: | ||||
|     - switch.den_outlet | ||||
|     - switch.living_room_outlet | ||||
|     - switch.foyer_outlet | ||||
|     - switch.kitchen_Accents | ||||
|     - switch.kitchen_accent_2 | ||||
|     - switch.printer_outlet | ||||
|     - switch.front_door_outlet | ||||
|     - switch.garage_outlet | ||||
|     - switch.living_room_amp | ||||
|     - switch.master_bathroom_accents | ||||
|     - switch.master_bathroom_accents_2 | ||||
|     - switch.pool_deck | ||||
|     - switch.1412_2_Outlet | ||||
|     - switch.1412_3_Outlet | ||||
							
								
								
									
										14
									
								
								group/triggers.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										14
									
								
								group/triggers.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,14 @@ | ||||
| Triggers: | ||||
|   control: hidden | ||||
|   entities: | ||||
|     - input_boolean.house_station | ||||
|     - input_boolean.responsibilities | ||||
|     - input_boolean.home_stats | ||||
|     - input_boolean.flash | ||||
|     - input_boolean.guard_dog | ||||
|     - input_boolean.sleepy_dog | ||||
|     - input_boolean.good_morning | ||||
|     - input_boolean.good_night | ||||
|     - input_boolean.meal_time | ||||
|     - input_boolean.tv_time | ||||
|     - input_boolean.work | ||||
							
								
								
									
										74
									
								
								group/views.yaml.old
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										74
									
								
								group/views.yaml.old
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,74 @@ | ||||
| Bear Stone View: | ||||
|   name: Bear Stone Run | ||||
|   view: yes | ||||
|   icon: mdi:home | ||||
|   entities: | ||||
|     - persistent_notification.update_available | ||||
|     - group.home_modes | ||||
|     - group.family | ||||
|     - group.weather | ||||
|     - group.amps | ||||
|     - group.Bedroom_lights | ||||
|     - group.Kitchen_lights | ||||
|     - group.Dinette_lights | ||||
|     - group.living_room_lights | ||||
|     - group.living_room_accents | ||||
|     - group.dining_room_lights | ||||
|     - group.foyer_lights | ||||
|     - group.upstairs_lights | ||||
|     - group.den_lights | ||||
|     - group.hallway | ||||
|     - group.office_lights | ||||
|     - group.garage_lights | ||||
|     - group.outdoor_pool_lights | ||||
|     - group.outdoor_lights | ||||
|     - group.all_switches | ||||
|     - group.media_players | ||||
|  | ||||
| Doors: | ||||
|   view: yes | ||||
|   icon: mdi:security-home | ||||
|   entities: | ||||
|     - group.family | ||||
|     - group.garage_doors | ||||
|          | ||||
|      | ||||
| Lights: | ||||
|   view: yes | ||||
|   icon: mdi:lightbulb | ||||
|   entities: | ||||
|     - group.home_modes | ||||
|     - group.amps | ||||
|     - group.interior_lights | ||||
|     - group.outdoor_lights | ||||
|     - group.Bedroom_lights | ||||
|     - group.Kitchen_lights | ||||
|     - group.Dinette_lights | ||||
|     - group.living_room_lights | ||||
|     - group.living_room_accents | ||||
|     - group.dining_room_lights | ||||
|     - group.foyer_lights | ||||
|     - group.upstairs_lights | ||||
|     - group.den_lights | ||||
|     - group.office_lights | ||||
|     - group.garage_lights | ||||
|     - group.outdoor_pool_lights | ||||
|     - group.outdoor_front_lights | ||||
|     - group.all_switches | ||||
|      | ||||
| Info: | ||||
|   view: yes | ||||
|   icon: mdi:settings | ||||
|   entities: | ||||
|     - group.family | ||||
|     - group.home_modes | ||||
|     - group.network | ||||
|     - group.sensors | ||||
|     - group.garage_doors | ||||
|     - sun.sun | ||||
|     - group.media_players | ||||
|     - group.weather | ||||
|     - group.all_lights | ||||
|     - group.all_switches | ||||
|     - group.all_automations | ||||
|     - group.all_scripts | ||||
							
								
								
									
										19
									
								
								group/weather.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								group/weather.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| Weather: | ||||
|   entities: | ||||
|     - climate.downstairs | ||||
|     - sensor.downstairs_thermostat_humidity | ||||
|     - climate.upstairs | ||||
|     - sensor.upstairs_thermostat_humidity | ||||
|     - sensor.dark_sky_cloud_coverage | ||||
|     - sensor.dark_sky_minutely_summary | ||||
| #    - sensor.dark_sky_nearest_storm_distance | ||||
|     - sensor.dark_sky_precip_intensity | ||||
|     - sensor.dark_sky_daily_max_precip_intensity | ||||
|     - sensor.dark_sky_wind_speed | ||||
|     - sensor.dark_sky_humidity | ||||
|     - sensor.dark_sky_temperature | ||||
|     - sensor.dark_sky_uv_index | ||||
|     - sensor.moon | ||||
|     - binary_sensor.iss | ||||
|     - sensor.launch_window | ||||
|     - camera.wu_doppler_weather | ||||
							
								
								
									
										7
									
								
								input_boolean/hidden_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										7
									
								
								input_boolean/hidden_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| home_stats: | ||||
|   name: Home Stats | ||||
|   initial: off | ||||
|  | ||||
| responsibilities: | ||||
|   name: responsibilities | ||||
|   initial: off | ||||
							
								
								
									
										19
									
								
								input_boolean/home_modes.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										19
									
								
								input_boolean/home_modes.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,19 @@ | ||||
| guest_mode: | ||||
|   name: Guest Mode | ||||
|   icon: mdi:account-alert | ||||
|   initial: off | ||||
|  | ||||
| school_mode: | ||||
|   name: School Mode | ||||
|   icon: mdi:school | ||||
|   initial: on | ||||
|  | ||||
| alert_mode: | ||||
|   name: Alert Mode | ||||
|   icon: mdi:alert-octagram | ||||
|   initial: off | ||||
|  | ||||
| speech_notifications: | ||||
|   name: Speech Notifications | ||||
|   icon: mdi:speaker-wireless | ||||
|   initial: on | ||||
							
								
								
									
										32
									
								
								input_boolean/trigger_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								input_boolean/trigger_booleans.yaml
									
									
									
									
									
										Executable file
									
								
							| @@ -0,0 +1,32 @@ | ||||
| #triggers | ||||
| good_night: | ||||
|   name: Good Night | ||||
|   initial: off | ||||
|  | ||||
| good_morning: | ||||
|   name: Good Morning | ||||
|   initial: off | ||||
|  | ||||
| meal_time: | ||||
|   name: Meal Time | ||||
|   initial: off | ||||
|  | ||||
| tv_time: | ||||
|   name: TV Time | ||||
|   initial: off | ||||
|  | ||||
| work: | ||||
|   name: Work | ||||
|   initial: off | ||||
|  | ||||
| flash: | ||||
|   name: Flash | ||||
|   initial: off | ||||
|  | ||||
| color_tornado: | ||||
|   name: Color Tornado! | ||||
|   initial: off | ||||
|  | ||||
| guard_dog: | ||||
|   name: Guard Dog | ||||
|   initial: off | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user