{"id":13580122,"url":"https://github.com/robwolff3/homeassistant-config","last_synced_at":"2025-04-06T00:30:46.619Z","repository":{"id":217509596,"uuid":"116862829","full_name":"robwolff3/homeassistant-config","owner":"robwolff3","description":"My personal Home Assistant config","archived":false,"fork":false,"pushed_at":"2019-02-22T15:18:36.000Z","size":8972,"stargazers_count":65,"open_issues_count":0,"forks_count":7,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-11-05T18:52:04.602Z","etag":null,"topics":["chromecast","home-assistant","home-assistant-config","home-automation","raspberry-pi","zwave"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robwolff3.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-01-09T19:45:26.000Z","updated_at":"2024-04-02T19:51:53.000Z","dependencies_parsed_at":null,"dependency_job_id":"978b93b7-b934-45ef-877b-382024d6b2ee","html_url":"https://github.com/robwolff3/homeassistant-config","commit_stats":null,"previous_names":["robwolff3/homeassistant-config"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robwolff3%2Fhomeassistant-config","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robwolff3%2Fhomeassistant-config/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robwolff3%2Fhomeassistant-config/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robwolff3%2Fhomeassistant-config/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robwolff3","download_url":"https://codeload.github.com/robwolff3/homeassistant-config/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419597,"owners_count":20936009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chromecast","home-assistant","home-assistant-config","home-automation","raspberry-pi","zwave"],"created_at":"2024-08-01T15:01:47.671Z","updated_at":"2025-04-06T00:30:45.934Z","avatar_url":"https://github.com/robwolff3.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Home Assistant\r\n\r\nMy personal implementation of [Home Assistant](https://home-assistant.io) (version: 0.88.0). Configuration last updated 2/22/2019.\r\n\r\n## Overview\r\n\r\nHere 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.\r\n\r\n### In-front of Home Assistant\r\n\r\n* 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.\r\n* Interested in [Docker](https://www.docker.com/) but never used it before? Checkout my blog post: [Docker In Your HomeLab - Getting Started](https://borked.io/2019/02/13/docker-in-your-homelab.html).\r\n* 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.\r\n* For connection security and certificate management I use the [linuxserver/letsencrypt](https://hub.docker.com/r/linuxserver/letsencrypt/) Docker container which has Nginx and [Let's Encrypt](https://letsencrypt.org/) packaged together. Nginx to reverse proxies the connections to HA and Let's Encrypt auto-renews to secure my traffic internally and externally.\r\n\r\n### High Level Components and Ideas\r\n\r\n* 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](https://community.home-assistant.io/u/chocomega) [here](https://community.home-assistant.io/t/community-hass-io-add-on-google-assistant-webserver-broadcast-messages-without-interrupting-music/37274/234) he walks you though setting it up. You can find the config in [configuration.yaml](configuration.yaml), the spotify/playlist selector here [playlist.yaml](packages/playlist.yaml) and broadcast notifications here [things.yaml](packages/things.yaml).\r\n* Dishwasher Status/Notification - [phil1019](https://www.reddit.com/user/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](https://philhawthorne.com/making-dumb-dishwashers-and-washing-machines-smart-alerts-when-the-dishes-and-clothes-are-cleaned/).\r\n* 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](https://www.home-assistant.io/lovelace/conditional/). I didn't like the clutter of 6 media devices on my main page when they are not playing anything.\r\n* Light Alarm Clock - My bedroom lights slowly turn on, and the radio cast(s) instead of an immediate audible alarm. I used [this example](https://community.home-assistant.io/t/creating-an-alarm-clock-updated/15195) on the community forum by [hokagegano](https://community.home-assistant.io/u/hokagegano).\r\n* 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](packages/security.yaml) myself. The front end modules is the lovelace javascript module [alarm_control_panel-card](https://github.com/ciotlosm/custom-lovelace/tree/master/alarm_control_panel-card).\r\n* [geekofweek](https://github.com/geekofweek/homeassistant) Repository - When I was getting started I pulled a lot of ideas and config examples from [geekoftheweek](https://community.home-assistant.io/u/geekoftheweek). Many thanks to this guy!\r\n* 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.\r\n\r\n### Custom Components\r\n\r\n* [nadtcp2](https://gitlab.com/mindig.marton/ha-nadtcp) - The [nad](https://www.home-assistant.io/components/media_player.nad/) component doesn't work with the Nad C 338. This is a workaround.\r\n\r\n### Lovelace JavaScript Modules\r\n\r\n* [Alarm Control Panel Card](https://github.com/ciotlosm/custom-lovelace/tree/master/alarm_control_panel-card)\r\n* [Mini Media Player](https://github.com/kalkih/mini-media-player)\r\n* [Slider Entity Row](https://github.com/thomasloven/lovelace-slider-entity-row)\r\n\r\n## Devices\r\n\r\n* Docker Host - SSD based\r\n* Aeotec Z-Stick Gen5\r\n* DIY [pfSense](https://www.pfsense.org/) router\r\n* Netgear Orbi (Set in AP mode)\r\n* ZoneMinder\r\n\r\n### Z-Wave Devices\r\n\r\n* GE Z-Wave Plus In-wall Smart Dimmer Toggle 14295 - 6\r\n* Ecolink Z-wave Plus Motion Detector PIRZWAVE2.5-ECO - 5\r\n* Inovelli Z-Wave Plus Single Channel Smart Outlet\r\n* Inovelli Z-Wave Plus Dual Channel Smart Outlet - 2\r\n* NEO Z-wave Plus MINI Smart Power Plug (monitors power consumption) - 1\r\n* Sensative Z-Wave Plus Strips Guard Contact Sensor (Don't recommend) - 3\r\n* Kwikset 912 Z-Wave SmartCode Electronic Touchpad\r\n\r\n### Media and Other Devices\r\n\r\n* Hikvision Cameras - 2\r\n* Google Hub\r\n* Chromecast Ultra\r\n* JBL Link 20\r\n* Vizio 4k TV\r\n* Nad C 338\r\n* Roomba 890\r\n* Hue Bridge (Deprecating)\r\n* Hue White A19 - 2\r\n* Hue Dimmer Switch\r\n\r\n## Interface\r\n\r\n![UI](images/ha1_home.jpg)\r\n![UI](images/ha1_security.jpg)\r\n![UI](images/ha1_override.jpg)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobwolff3%2Fhomeassistant-config","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobwolff3%2Fhomeassistant-config","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobwolff3%2Fhomeassistant-config/lists"}