dannytsang / homeassistant-config

🏡 My Home Assistant Configs.
https://dannytsang.com
32 stars 0 forks source link
automation esphome home-assistant

Danny's Home Assistant 🏡

Home Assistant CI

Introduction 📢

My ⚽goal with home automation is to never have to think about doing something mentally or physically. This can be turning on a 💡light through to household chores such as 👕washing clothes. Currently, my journey continues.

I have always been interested in technology starting from the x10 days. At the time, I was did not have the money or 🧬life experience to use the 💻technology at the time. Fast forward a few 📅decades, I'm fortunate enough to have the means and place to splurge on home automtion and Home Assistant is the key to all of this.

This project contains configuration files for Home Assistant used in the House of Tsang 曾)

More details on my 📜website.

Statistics 📊

I have 6,346 states (📈194) in Home Assistant. More details here.

Hardware 🔩

More details here.

Addons ➕

This is not an exhaustive list and it changes quite a lot. Too keep up to date, please subscribe to my blog.

Add-ons that I run outside of Home Assistant:

Integrations 🖧

More details here.

GitHub 🐱🐙

This repository contains the configuration files used. It will not contain everything e.g. password (A.K.A secrets.yaml) file as well as other configuration done in the User Interface (UI).

Whilst Home Assistant offer backup solution depending on your install, it is a bit of all or nothing restore process whereas Git (or any versioning system) would allow incremental changes to be stored and reverted where necessary.

The goal is to use the web front end as much as possible and there has been a growing trend to move away from text (YAML) files however the versioning advantage is the reason i still use and store things here.

Setup ⚙️

All changes are performed in the UI where possible and if they are held in configuration files then it will end up in Git where possible.

I use the Visual Studio Code add-on to edit files in Home Assistant or if I really have to the File Editor add-on on my mobile deives.

Visual Studio Code addon includes a Git client so all changes are managed through the text editor.

Workflows 🖇️

The advantage of using a source code management system like Git is the ability to use hooks to trigger actions (as well as other advantages).

I use GitHub actions to verify the changes committed by running it against Home Assistant builds. If successful, Home Assistant will pull down the changes and if the changes are configuration related (as opposed to readme / markdown files) then it will perform another local configuration check and restart to pick up the changes. More details on this can be found here

For this reason, the custom_components is stored in the repository to allow a successful build and configuration check.

Structure 🧱

This repository's top level is the /config folder where typically the configuration.yaml file resides. More details can be found here.

I use some of the "advance" configuration options such as split configuration and packages.

Blueprints 📝

I have yet to explore this feature yet. See here.

Camera 📸

Private directory to hold camera images. Predominantly used for sending images to DeepStack.

ESPHome 🔌

Files related to managing the ESP microcontroller. See ESPHome.io for more details.

Packages 📦

See packages readme for more details.

Split Configurations 📦🪓

I use split configuration files to help manage and keep the configuration.yaml size down. The advantange is each type of configuration such as scripts, scenes, etc will be managed by Home Assistant UI with minimal setup.

www 🌍

A public folder for holding any files such as images that does not need authentication. I use it for attaching images to notifications.

Tags / Releases 🏷️

I will apply a tag around the time of upgrading to a monthly release of Home Assistant. These will represent a snapshot of a (hopefully) stable configuration used prior to upgrading and a point to restore back to if needed. The main branch will contain the latest changes so there is no latest tag.

I encountered issues with branching using VSCode Server add-on in Home Assistant. I was always switching away from a branch so I generally stay away from using this method.

Miscellaneous 🦺

N/A