Giter Site home page Giter Site logo

robwolff3 / homeassistant-config Goto Github PK

View Code? Open in Web Editor NEW
65.0 4.0 7.0 8.76 MB

My personal Home Assistant config

License: GNU General Public License v3.0

Python 100.00%
home-assistant-config home-assistant home-automation raspberry-pi zwave chromecast

homeassistant-config's Introduction

Home Assistant

My personal implementation of Home Assistant (version: 0.88.0). Configuration last updated 2/22/2019.

Overview

Here is my home automation project I have been improving since mid 2017. At that time I had switched from Samsung SmartThings and I could not be more happy with my decision. I take a firm minimalism approach to my layout, hence the number of things are essential and concise.

In-front of Home Assistant

  • HA is running on a docker container on a collective docker host I run in my homelab. For z-wave there a Z-stick plugged into the host. When I first started I tried Hassbian and other deployment methods, but wasn't satisfied with the level of control over the access and administration. HA in a Virtual Environment on a Debian Raspberry Pi 3 host is what I ran for awhile until last year when I upgraded my homelab to a single docker host. Docker is defiantly the way to go for easy of use, administration and updating.
  • Interested in Docker but never used it before? Checkout my blog post: Docker In Your HomeLab - Getting Started.
  • Connecting to HA externally, I use my own domain through Google Domains with a Dynamic DNS record setup on a sub domain. To solve the internal/external connection problem, I have a Host Override setup on my pfSense router that forwards my HA sub domain to the local IP address of HA when I'm on my local network.
  • For connection security and certificate management I use the linuxserver/letsencrypt Docker container which has Nginx and Let's Encrypt packaged together. Nginx to reverse proxies the connections to HA and Let's Encrypt auto-renews to secure my traffic internally and externally.

High Level Components and Ideas

  • Google Assistant Commands - To get around a few limitations like casting Spotify and the mediocre native TTS I am using emulated google assistant SDK on my RaspberryPi. Following a post form chocomega here he walks you though setting it up. You can find the config in configuration.yaml, the spotify/playlist selector here playlist.yaml and broadcast notifications here things.yaml.
  • Dishwasher Status/Notification - phil1019 shared his write up with me about monitoring dumb home devices power consumption to assume their state. I used the dishwasher portion of his setup, it can be found here.
  • Auto hide media devices when not in-use - Before I used a self made method, now lovelace has more native functionality through a Conditional Card. I didn't like the clutter of 6 media devices on my main page when they are not playing anything.
  • Light Alarm Clock - My bedroom lights slowly turn on, and the radio cast(s) instead of an immediate audible alarm. I used this example on the community forum by hokagegano.
  • Alarm Control - There are a lot of examples of HA Alarm Systems on the community forum, but none of them did exactly what I wanted, so I wrote this one myself. The front end modules is the lovelace javascript module alarm_control_panel-card.
  • geekofweek Repository - When I was getting started I pulled a lot of ideas and config examples from geekoftheweek. Many thanks to this guy!
  • Future Considerations - When I own my own dwelling I will probably monitor, operate, and use sensors from smart deadbolts/doors handles, smart smoke/carbon monoxide detector, smart doorbell, exterior lights, garage door opener, etc from HA.

Custom Components

  • nadtcp2 - The nad component doesn't work with the Nad C 338. This is a workaround.

Lovelace JavaScript Modules

Devices

  • Docker Host - SSD based
  • Aeotec Z-Stick Gen5
  • DIY pfSense router
  • Netgear Orbi (Set in AP mode)
  • ZoneMinder

Z-Wave Devices

  • GE Z-Wave Plus In-wall Smart Dimmer Toggle 14295 - 6
  • Ecolink Z-wave Plus Motion Detector PIRZWAVE2.5-ECO - 5
  • Inovelli Z-Wave Plus Single Channel Smart Outlet
  • Inovelli Z-Wave Plus Dual Channel Smart Outlet - 2
  • NEO Z-wave Plus MINI Smart Power Plug (monitors power consumption) - 1
  • Sensative Z-Wave Plus Strips Guard Contact Sensor (Don't recommend) - 3
  • Kwikset 912 Z-Wave SmartCode Electronic Touchpad

Media and Other Devices

  • Hikvision Cameras - 2
  • Google Hub
  • Chromecast Ultra
  • JBL Link 20
  • Vizio 4k TV
  • Nad C 338
  • Roomba 890
  • Hue Bridge (Deprecating)
  • Hue White A19 - 2
  • Hue Dimmer Switch

Interface

UI UI UI

homeassistant-config's People

Contributors

robwolff3 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

homeassistant-config's Issues

local custom_ui

Can you please include the directories and files in your frontend: /local/custom_ui

I would like to see how to set these up correctly as it seems you have it working

frontend:
  javascript_version: es5
  extra_html_url:
    - /local/custom_ui/state-card-custom-ui.html
    - /local/custom_ui/state-card-tiles.html
  extra_html_url_es5:
    - /local/custom_ui/state-card-custom-ui-es5.html
    - /local/custom_ui/state-card-tiles.html

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.