JavaScript Python HTML CSS Shell
Switch branches/tags
Nothing to show
Clone or download

README.md

Bear Stone Smart Home
Bear Stone Smart Home Configuration

Be sure to ⭐️ my repo so you can keep up to date on the daily progress!.

Recent Commits to Bear Stone Smart Home

This Repo is designed for Smart Home inspiration. The configuration, devices, layout and linked Blog posts should help inspire you to jump head first into the IOT world. This is the live working configuration of my Smart Home. Use the menu links to jump between sections. All of the code is under the config directory and free to use and contribute to.

Screenshot of Home Assistant Header

As of 2018, I have migrated everything to a Docker based platform. You can read all about it here: Migration Blog Post


Notable Software on my Laptop Host:

Screenshot of SmartHome Lots of my gear comes from BetaBound for Beta Testing and reviews.

Smart Home Diagram

Here is how all the parts talk to each other. Keep reading to see code examples and explanations.
Smart Home Diagram

Smart Home diagram (PNG). Made with Draw.io (XML source file).

Battery Backups - UPS Blog write-up

3 Prong UPS

2 Prong UPS

Tesla Powerwall 2

There aren't really automations for the Batteries yet. Electricity is the life blood for the house and only really the Tesla Battery has smarts so maybe in the future, you'll see a Powerwall automation in this space.

Networking

Ubiquiti Networks Unifi 802.11ac Pro

Ubiquiti Networks Unifi 802.11ac Lite

NetGear 16 Port unmanaged Switch

Circle by Disney

Using the APs (3 of them), The house monitors all Connected devices for Online/Offline status and uses '' for presence detection. Any critical device down for more than 5 minutes and an alert is sent out. Circle is a Parental Control device. When a new device is discovered on the network, HA notifies us and also plays a TTS reminder over the speakers to classify in Circle. Most things are Wifi connected but a good gigabit switch is needed for a good foundation.

Alexa Echo Devices - Alexa Device Blog Post

Amazon Echo

Amazon Echo DOT

Amazon Echo Tap

Amazon Dash Wand

The Alexa devices in my house are for automation overrides. They are primarily an input device into Home Assistant. Using HA Cloud component, I am able to turn on /off most HA devices even if they don't have native Alexa support. The DOTs are littered around the house, the Tap is for Shower and Garage since it is super portable and the main echo fills the upstairs with Music. Voice input and playing Whole House Music are where Echoes excel! The Wand is pool side for quick commands and controlling the music if need be.

Ability to ask Alexa to repeat the last Voice notification - 'Alexa, Turn on Last message'.

Last Message Package - /config/packages/triggers/last_message.yaml

Guest mode to disable certain interior automations. Trigger via Alexa. 'Alexa, Turn on Guest Mode.'

Defining Guest Mode - /config/input_boolean/home_modes.yaml#L1-L4
Using Guest mode as a condition - /config/script/speech_engine.yaml#L25-L27

Track garbage days and chore days for the kids. Voice reminders and Alexa intergration/request for info.'

Defining responsibilities trigger - /config/input_boolean/hidden_booleans.yaml#L5-L7
Responsibility Speech Code - /config/script/speech_engine.yaml#L56-L68

Context aware lighting control.

Read about it here on vCloudInfo.com

Mobile Devices and Tablets - FloorPlan Blog post

iPads

iPhones

Dash Buttons

Amazon Fire Tablets Gen 7

Mobile devices are a critical part of my Home Automation. They establish presence in the house and are the basis for many automations. Home? Turn on the lights. Leave? Turn them all off kind of thing. We use NMAP for presence detection.

IOS Notifications for Offline Devices, BadLogins, HA Startups, new HA versions and IP Changes for DNS.

External IP changes - /config/automation/System/ip_change.yaml
Network Monitor package - /config/packages/network.yaml
Away triggers -/config/automation/away.yaml
Shut interior script -/config/script/interior_off.yaml
Late night Helper Automation -/config/automation/late_night_helper.yaml

Reminders to take my medicine sent as IOS notifications ONLY when I arrive back home for the night.

IOS Package - /config/packages/ios.yaml


The Tablets are for the awesome FloorPlan that you see in the images. We have 2 in the house mounted for quick consumption of all the HA data in a glance. We also leverage them as TTS endpoints. During certain times of the day, TTS is only played on the tablets rather than over the whole house. Other times, Notifications are sent only to the Mobile Devices rather than using speech.

Custom Component Fire Tablet Media Player

Kiosk TTS Custom component - /config/custom_components/media_player

Nest Products and SleepIQ - Thermostat Basics Blog post

Nest Thermostats

Nest Protects

SleepNumber Bed i8

Withings

This group of devices is basically for additional presence control. The Nest thermostats and Protects basically run themselves. The thermostat 'away' mode triggers my away scripts which turn items off. The Protects are SOLID smoke detectors. They really came in handy during Irma. The SleepIQ bed adds to my presence detection. It will notify HA if either side of the bed is occupied. More controls are coming but I use this extensively. The WiThings scale also triggers morning and goodnight routines depending on when I step on it during the day.

Turn off lights when Nest Thermostats detects we are away. (Upstairs and Downstairs)

Away scripting - /config/automation/away.yaml#L7-L9

Turn on Upstairs lights if Nest Thermostats detects people and it's nighttime.

Upstairs Automation - /config/automation/upstairs_motion_ifttt.yaml

(IFTTT) Trigger Good Night routine when I step on the Withings scale after 10pm.

WiThings Scale

Turn on bathroom accent lights when either of us steps out of bed at night. Turns them back off when we are back in bed.

Master Bath Automation - /config/automation/master_bath_accents.yaml

Turn off all interior lights when the last person gets into bed.

Good night Automation - /config/automation/good_night.yaml

Silence all Voice notifications if anyone is in bed. Redirect to Fire Tablets.

Timed AMP turnoff Automation - /config/automation/Timed_Triggers/2200.yaml
AMP redirect script - /config/script/amp_settings.yam

Voice Notifications - Giving Voice to the Smart Home Blog Post

ChromeCast Audios

AMPs

Mixer

TP-Link Smart Plug

To me, Voice is the coolest part of the smart home. It gives it personality. It's something not just anyone has and helps your house stand apart from the pack. I use the Amazon Polly TTS component since it sounds the closest to Alexa. This gives a seemless transition from Alexa to Home Assistant responding. Most think it is just one system. The mixer allows TTS to mix right in over Music. The TP-Link Outlet is used to turn off the Mixer and AMP when we do not need it. It's a great inexpensive solution.

Turn off all the voice devices when we are not home or in bed.

Away Automation - /config/automation/away.yaml
Good Night Automation - /config/automation/good_night.yaml

All voice notifications are pushed though a speech engine. Random words and sentances are used to give the house some personality..

Speech Engine - /config/script/speech_engine.yaml

Voice announcements whenever someone comes home.

People Greeter - /config/automation/Speech/announcements.yaml

Voice notifications for all sorts of things related to the house. (Temps, presence, doors open, windows open, garage door statuses, sunset.)

Speech Macros are called by automation scripts - /script/speech_engine.yaml

Digital Cuckoo Clock that goes off each hour and on the half just like a real Cuckoo Clock.

Cuckoo Clock - /config/automation/System/CucKoo_Clock.yaml


Once you can teach your house to talk, you just keep expanding on it's vocabulary. It's addicting. :)

Various Hubs - Smart Home Parts/Sum Blog Post

Philips Hue Hub Gen 2

Wink Hub

RM Pro by Broadlink

Philips Hue Hub Gen 1

The Hubs help the home communicate across all the various protocols running in the house. The Hue hubs (I have 2 actually) talk to most of the lights. The Gen 1 handles upstairs and outside and the gen 2 handles everything else. Some lights and switches talk over Zwave to the Wink Hub. The RM Pro talks 433Mhz to my EtekCity outlets.

Using [Etekcity Outlets](http://amzn.to/2efNoBP) to control accent lighting above kitchen cabinets and room cutouts.

Kitchen Accents Automation - /config/automation/kitchen_lights_and_accents.yaml
Master Bath Accents Automation - /config/automation/master_bath_accents.yaml

Turn on Hallway light for no more than 20 minutes when Pantry door is opened.

Hallway Automation - /config/automation/zwave_hallway_door_sensor.yaml

Detects when lights are turned on and adjusts them to correct brightness based on time of day.

Auto Light adjustment Automation - /config/automation/System/detect_and_adjust_lights.yaml


Think of the Hubs each as bridges for HA to talk to various hardware around the house.

Lights Smart Home Parts/Sum Blog Post

Hue Colored lights

GE Link Lightbulbs

Hue Go

Hue Lightstrip

Almost all my lights (40+) are white GE Link lights. I bought them early on before Hue came out with inexpensive white A19s. Even Ikea has great lights now. Colored lights are in the front sconces and also used in the living room. The Go lights are specifically for the kids since they are both wireless and also have a button on them making them very tactile for kids. I use the Lightstrips for TV backlighting and also couch accent lighting.

Turn on TV Time Lights (dim and color) at Sunset (if home and TV is on)

TV Time Automations - /config/automation/tv_time_on_and_off.yaml

Sets up the front lights in the house with preset colors depending on the ~~month~~ day!.

Holiday Lights package - /config/packages/holiday.yaml

Turns living room lights `red` when a Window or Door is opened past sunset. Resets to `yellow/gold` when all doors/windows are closed.

DIY Alarm package - /config/packages/alarm.yaml

Switches

Noon Switches

GE Link Lightbulbs

Hue Go

Etekcity Outlets

In the Master Bedroom and Bathroom, I have deployed a starter set of 5 Noon Switches. These switches control the toilet light, both vanities and bedroom overhead light. They work on the wall and are also IFTTT compatible. The EtekCity outlets are the most inexpensive ($6) yet reliable outlets out there. I have them deployed all over the house as accent lighting with some rope lights in most of the home's cut outs.

When interior light script is triggered, IFTTT is notified to turn off the Bathroom Noon switches.

Interior Turn off Script - /config/script/interior_off.yaml

Security

NodeMCU Development Boards

Aura Home Monitoring Motion Alarm

Hue Go

Fake Dog

The ESPs while technically not a Hub do bridge the connection to all the windows and door sensors that are hardwired in my house. One set acts as my DIY alarm system while the other act as DIY Motion Sensors. The Aura system uses Wifi waves to detect motion through walls. It covers the entire house. Scenes are activated via IFTTT/HA integration. When all else fails though, a good recording of a Bull Mastiff is sure to do the trick!

Shut down HVAC system if a Window or Door is left open for more than 5 minutes.

HVAC Watchdog Automation - /config/packages/alarm.yaml#L209

Play chime on all window and door open/closes.

Door Chime Automation - /config/automation/System/door_chime.yaml

Change Aura scenes based on presence and sleep.

Aura Package - /config/packages/aurahome.yaml

Cameras

SkyBell HD

Foscam 1080p Outdoor Camera

Surveillance Drives

Meraki MS220 8 port PoE switch

Cameras are both for security and data sensors. They can trigger motion events, lighting conditions or for doorbells, when someone presses it. Cameras and Access points are feed power via the Meraki PoE switch.

On motion from Doorbell turns 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.

Skybell HD script - /config/script/skybell_pressed.yaml
Dog Bark script - /config/automation/guard_dog.yaml

When someone rings the Doorbell, 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).

Skybell HD script - /config/script/skybell_pressed.yaml
Dog Bark script - /config/automation/guard_dog.yaml

Outdoor Landscaping

Rachio Sprinkler system

GE ZWave Outdoor Power Module

Phyn Smart Water Main ShutOff/Leak Detector

Outdoor LED Lighting

The great outdoors can be automated too! Mainly lights but also the sprinkler system and water supply. The Phyn leak detector was announced in CES. It looks for abnormal flows and if senses them, alerts me and shuts water main. The GE Outlets are hooked up to my 12v transformers allowing me to turn the landscaping lights on and off. The LED strips are DIY and the recipe is in the next section.

(IFTTT) Add a 1 day rain delay to Rachio Sprinkler system if it is going to rain tomorrow also logged to MQTT.

Rain Delay Package - /config/automation/System/rachio_rain_delay.yaml

(IFTTT) Blink ALL lights if Winds get to 70MPH - Hurricane warning.

Flash Light automation - /config/automation/flash_all.yaml

Turn on some outdoor Lights at Sunset, Turn off 4 hours before sunrise.

Sunset automation - /config/automation/Timed_Triggers/sunset_turn_on.yaml

Turn off interior and backyardlights when we go to sleep.

Good Night automation - /config/automation/good_night.yaml

Outdoor LED Accents - DIY Blog Post - #71

LED RGB Wifi Controller - flux_led compatible

LED Strip kits

Aluminum light Diffusers

Outdoor Housing

Mentioned above, this is one of my favorite projects for the house. The ability to completely change the look of the house on the drop of a dime and on a dime budget is awesome. Read the blog post linked above for all the parts details but here are some automations I love.

Change the front colors of the LED lights based on holidays. The best part is the LED controller works with HA right out of the box. No fiddling around with it at all. HUGE Plus in my book.

Holiday Package - /config/packages/holiday.yaml

When the garage doors open, change all lights in the front of the house to bright white.

Garadget automations - /master/config/automation/garadget.yaml

On motion, turn all the lights to a bright white outside for a random amount of time before resuming the daily color choice.

Motion automations - /config/script/front_house_motion.yaml

Garage Gadgets

Garadget

JuiceBox Pro 40 EVSE

Chevy Bolt Electric Car

Siri, are my garage doors closed?

Garage doors, Cars, charging stations. Going green. All part of a complete home automation setup. The garage door openers are probably the most important. No one wants to forget that they left them open when they've left or gone to bed. Closing forgotten garage doors makes it all worth it.

Notifications when the garage door is left open at night or when we leave the house.

Garage Speech Automations - /config/automation/Speech/garage_closed.yaml

Monitor the reflection rates of Garadget and notify when they being to drop too low when closed (indicating a shift in the controller)

Garage reflection Automations - /config/automation/garadget.yaml

Tweet out charging status of the car and how many KwH were charged in a session. #Stat

Tweet Automations - /config/script/tweet.yaml

Monitor AMPs and Voltage and alert if charge ever goes over 24A to prevent breaker tripping. (Juicebox is software derated to 24A on a 30A circuit.) Also restart Unit if unable to connect to eMotorWerks servers.

Juicebox package - /config/packages/juicenet.yaml

TVs and Streaming Devices

Samsung Smart TV

Rokus

Amazon Fire TV

Synology NVR 1218

TV Automations are super cool. Turn on a movie and the lights begin to dim automatically. It's super cool. Out TVs are back lit with Hue Lightstrips so we can do some pretty neat effects with automations. We are #CordCutters as well so all out TV is streamed to the Rokus. FireTV for party games and the Snyology, I'll talk about later in the Survellance section.

If any Doors or Windows are open, the TV backlights turn Red.

Alarm package - /config/packages/alarm.yaml

When the Roku reports we are watching Plex or TabloTV, TV Time scene is triggered dimming 2 of 4 living room lights.

TV Time Automations - /config/automation/tv_time_on_and_off.yaml

Rainy days trigger extra subtle light (TV back lights and other accent lighting) inside the house.

Rainy Day Automations - /config/automation/dark_rainy_day.yaml

Sensors

Door Sensors (AEON Labs)

Pi Zero

Wireless Nub

Epson ET-7700 Printer

Sensors add data to Home Assistant. Most of my Doors and windows are hardwired but for some interior doors, I also have the wireless sensors. They connect to my Wink Hub. PiHole is running on my PiZero. It's super easy to install and runs DNS, DHCP and ad blocking for the whole house on a great little 5v form factor.

Tweet out daily Pi Hole stats. (Ads Blocked and % of bandwidth saved.)

Pi-Hole Package - /config/packages/pihole.yaml
Tweet script - /config/script/tweet.yaml

Leverage Alexa and Elekcity outlet to control Printer On/Off via Voice. Turns off automatically after 20 minutes.

Light watchdog Automations - /config/automation/System/watchdog_light.yaml

Sound door chimes whenever doors open or close.

Door Chimes Automations - /config/automation/System/door_chime.yaml

Watch and alert on Home Assistant's Disk usage and Pi Zero.

Process Monitor Package - /config/packages/processmonitor.yaml

Todo List

The issues section on github is where I store all my wishful ideas and future enhancements. Feel free to join the conversations there. Screenshot of Alarm Clock View Screenshot of Alarm View

All files are now being edited with Atom.

All of my configuration files are tested against the most stable version of home-assistant using Travis.

#Still have questions on my Config? Message me on twitter : @CCostan or @BearStoneHA



Affiliate Disclosure