๐ Fully documented Home Assistant configuration for a smart-looking place. ๐ Be sure to โญ๏ธ my repo and copy ideas!
Configuration for Home Assistant running on a Raspberry Pi for a one bedroom apartment, offering convenience automations over lights and climate while providing multiple intuitive user controls.
Note: Images are from States UI days and still need to be updated in the documentation. This configuration now uses Lovelace UI and AppDaemon exclusively.
This is a fully documented working configuration for Home Assistant, with screenshots, hints and comments. Browse the code to have a look! ๐
This configuration is built with an Agile-like methodology, lead by following main user stories:
Tasks are hopefully defined in the issue queue and their development progress is managed using a lightweight Kanban board.
/misc/weather.yaml
and /appdaemon/dashboards/
./lights/
and basic ones using /switches/
./lights/
and /automations/
./scripts/
instead of scenes, to allow for sequences and conditions:
/gtfs/
for optimization hints./automations/notifications/
./appdaemon/dashboards/
, you'll like! ๐secrets.yaml
file.Device |
Description |
Connection |
---|---|---|
Aeotec Z-Stick Gen5 | Z-Wave USB dongle. | USB |
Airthings Wave radon detector bridge | to interface with this Bluetooth radon detector by using airthingswave-mqtt from Herb Peyerl (@hpeyerl). Runs on a Raspberry Pi Zero W managed through balenaCloud. | WiFi |
Blink Sync Module | for battery-operated, cloud-enabled cameras. | WiFi |
CEC MQTT bridge | to provide basic switching control and state sensing to a connected television. Runs on a Raspberry Pi Zero W managed through balenaCloud. | WiFi |
Flic smart button bridge | to connect with these Bluetooth Low Energy buttons. Runs on a Raspberry Pi Zero W managed through balenaCloud. | WiFi |
Milight iBox2 WiFi bridge | for kitchen RF LED strip controllers, using LimitlessLED integration. | WiFi |
NooElec NESDR SMArt | RTL-SDR (software-defined radio) USB dongle for reading AcuRite sensors. | USB |
Raspberry Pi 3 Model B+ | running Home Assistant. | Local |
/lights/
)Device |
Description |
Connection |
---|---|---|
24V 3014 Warm White Cool White LED Strip | (x4) encased in custom-cut and assembled light-diffusing aluminum profiles, connected to Milight RF controllers below. | Hardwire |
Adalight | DIY 100-dots TV backlighting controlled by Lightpack+Prismatik on HTPC. | LAN |
DIY LED nightstand | via TP-Link a smart plug. | WiFi |
Fairy lights | (x4) via TP-Link smart plugs. | WiFi |
LIFX Mini Color | (x3) A19 RGBWW light bulbs. | WiFi |
LIFX+ | (x2) A19 RGBWW light bulbs with infrared. | WiFi |
LIFX Z | (x5) light strips (non-HomeKit versions) as bed underglow and ceiling wash lights. | WiFi |
Milight CCT LED RF Controller | (x4) for white-adjustable undercabinet kitchen lights, connected to appropriate UL-listed power supplies. | 2.4Ghz |
Nanoleaf Aurora | light panels kit. Pretty! | WiFi |
/sensors/
)Device |
Usage |
Connection |
---|---|---|
AcuRite 06044M Wireless Sensor | for cheap temperature and humidity monitoring inside a cigar humidor. | 433Mhz |
Aeotec Door / Window Sensor Gen5 | for front door. | Z-Wave |
Aeotec MultiSensor 6 | (x3) for temperature/humidity/presence detection. | Z-Wave |
Airthings Wave radon detector | to keep an eye on this cancer-causing radioactive gas. | Bluetooth Low Energy |
Blink XT2 | to keep a record of any movement outside. | WiFi / 900MHz |
Dome Leak Sensor | (x2) in case the dishwasher breaks a seal, a shower curtain has not been closed properly โฆor a toilet has overflowed. ๐คข | Z-Wave |
Ecolink Firefighter | to warn those outside that the fire alarm has been triggered. | Z-Wave |
Device |
Description |
Connection |
---|---|---|
Acer Iconia One 10" tablet | with its 1280x800 IPS screen wallmounted as a kiosk. See /appdaemon/dashboards/ . |
WiFi |
Aeotec Minimote | with its 4 double-state remote control buttons. | Z-Wave |
Flic Smart Buttons | (x2) for simple, triple-state, stick-anywhere, battery-powered physical buttons. ๐ | Bluetooth Low Energy |
Device |
Usage |
Connection |
---|---|---|
Daikin 19 Series mini split heat pump | to cool, warm, and dehumidify the apartment. Connected via the optional WiFi adapter or Broadlink RM Mini 3 (upcoming). | IR / WiFi |
Rowenta VU2660U2 Turbo Silence Extreme oscillating fan | to create a gentle, silent breeze in the bedroom. Connected via Broadlink RM Mini 3 (upcoming). | IR |
TP-Link HS105 Smart Plugs | (x4) to toggle power to dumb devices. | WiFi |
App |
Usage |
---|---|
Docker | on local machine (for development). True, Home Assistant is Docker-based tooโฆ ๐ |
Fully Kiosk Browser PLUS | on wallmounted tablet for display and simple interaction. |
Home Assistant | on a Raspberry Pi 3 Model B+ (production setup). |
LANnouncer | on wallmounted tablet for simple audio and text-to-speech messaging. Quite unreliable however. |
Python Virtual Environment | on local machine (for quick development). |
Add-on |
Usage |
---|---|
AppDaemon | for HADashboard tablet UI. |
Check Home Assistant configuration | to validate current configuration before upgrading. |
DuckDNS | to facilitate secure remote access. |
Log Viewer | to stream the log file to a browser window. |
MQTT Server & Web client | for standard IoT messaging using Mosquitto, plus a HiveMQ web interface. |
NGINX Home Assistant SSL proxy | to route secured web traffic from the outside world to Home Assistant using NGINX. |
RTL_433 to MQTT Bridge | to receive and decode AcuRite devices radio signals. |
Samba share | to access configuration files easily with Samba. |
SSH & Web Terminal | for secure command-line access. |
Integration |
Usage |
---|---|
Browser Mod | to add pop-up support to ui-lovelace.yaml . |
Display platform | for integration with the Fully Kiosk Browser. |
Doomsday Clock | to track how close humanity is to a man-made global catastrophe. |
HACS (Home Assistant Commnunity Store) | to ease maintenance and pretty-up ui-lovelace.yaml . |
Lightpack | to control TV bias lights. |
Raspberry Pi Power Supply Checker | to warn in case of insufficient power delivery. |
UniFi Gateway | for extra network stats. |
Variable | for persisnent storage of non-boolean values. |
Widget |
Usage |
---|---|
auto-entities | to filter entities. |
bar-card | for battery statuses. |
button card | for intuitive mode toggles. |
card-mod | to apply CSS to cards. |
card-tools | as a requirement to other widgets. |
custom-header | to optimize screen real-estate. |
dummy-entity-row | to use entities' titles without showing their values. |
favicon-counter | to display a browser tab indicator for notifications. |
fold-entity-row | to hide less important details unless requested. |
github-entity-row | to display health status of related GitHub repos. |
layout-card | to give structure to views, including pretty headers and footers. |
mini-graph-card | to display simple interactive line charts for temperature, humidity, radon levelsโฆ |
restriction-card | to prevent accidental changes to critical entities. |
secondaryinfo-entity-row | to display supplemental information from other sensors and attributes. |
slider-entity-row | to quikly control light brightness. |
swipe-card | to display slideshows of satellite weather maps. |
vertical-stack-in-card | to assemble multiple sub-cards into a prettier, unified card. |
In an empty directory, type:
git clone --recurse-submodules [email protected]:renemarc/home-assistant-config.git .
echo "secrets.yaml filter=secret merge=keepMine" > .gitattributes
cp secrets-dummy.yaml secrets.yaml
cp appdaemon/secrets-dummy.yaml appdaemon/secrets.yaml
Actual secrets and auto-generated sensitive files are obviously kept off this repo! ๐
Kudos to:
Thank you for all your dedication, helpfulness and valuable insights. Cheers! ๐ป๐