While trying to set up my smart home, I got a lot of inspiration from everyone sharing their Home Assistant configuration. I hope my configuration will also help you to set up your smart home.
If you find anything useful here, please star this repo.
I've set up my configuration with the packages approach. The reason for this is, that I like to keep related configurations (sensors, automation's, scripts, etc) together in a single file, a package. These packages are usually built-in integrations or custom_components.
I've tried to use English naming patterns as much as possible, however, anything that is user-facing is in Dutch. Anything that refers to a place (eg. a room) is also in Dutch.
My UI setup is also not standard, my ui-lovelace.yaml (the main dashboard) contains include
statements to view files.
All the other dashboards can be found in the lovelace folder. Here is a specific config for all dashboards.
The dashboards do include views that are separate yaml files, some views include on their turn cards. The reason for this split is to reduce the size of yaml files, but also to reuse cards.
Most of my automation's and scripts are found in their package, others that do not really match a package, are in the automations folder. This folder is structured on a per-room basis. Some general scripts are in the scripts file.
I've created a few blueprints to repeat logic in different rooms or for different devices.
Blueprint | Summary |
---|---|
Awtrix clock | Manage display on/off state and device apps from Home Assistant states |
Doow/window climate control | Turn on/off a climate entity when a door/window opens/closes |
Motion activated scenes | Turn on lights (by scene) based on motion |
Aqara magic cube (zigbee2mqtt) | Blueprint to control a Aqara magic cube |
Bed light button (Hue smart button, zigbee2mqtt) | Bed button, single click for bed light, long click for ceiling light |
Button press and hold (Hue smart button, zigbee2mqtt) | Blueprint for Hue buttons that support press and hold |
Xiaomi switches (zigbee2mqtt) | Blueprint for several Xiaomi switches |
If you like any of these blueprints, then you can import these into your own Home Assistant. Report an issue with a blueprint.
Custom components that I've installed are set in the CUSTOM_COMPONENTS
variable in the update_resources script.
There are also a few components that I've developed:
Component | Installations | Stars |
---|---|---|
KNMI | ||
Kamstrup 403 | ||
Kamstrup MC66C |
Interested in how I track custom component installs? See my ha-active-installation-badges repository.
I've made a few custom_scripts to control devices at my home.
Script | Summary |
---|---|
carwashplus.py | Scraper script to get data from Carwash Plus |
leeghwaterbad.py | Scraper script to get data from Leeghwaterbad |
lg_sl10.py | Script that can set the source and/or volume of an LG SL10 soundbar |
For the same reason as for blueprints, I've created a few custom_templates; to reuse jinja templates.
Template | Summary |
---|---|
aqi.jinja | Air quality index helpers |
automations.jinja | Automation helpers |
home_connect.jinja | Home Connect helpers |
nl.jinja | Dutch translation helpers |
If you like any of these custom templates, then you can download them into your own Home Assistant. Report an issue with a custom template.
My ESPHome configuration is not part of my Home Assistant configuration. This configuration can be found in my ESPHome-Config repository.