Home Assistant
Home Assistant runs on a dedicated machine and handles smart home control, automations, and integrations. The configuration is fully managed in a git repository.
Configuration structure
The main entry point is configuration.yaml, which loads all feature packages automatically:
Each file under packages/ is a self-contained feature area with its own automations, scripts, and entities:
| Package | Covers |
|---|---|
media.yaml | Entertainment state machine, Sonos, Music Assistant |
lighting.yaml | Adaptive lighting, Zigbee remote control |
air_quality.yaml | CO2, PM2.5, VOC monitoring and alerts |
routines.yaml | Wake-up and sleep routines |
climate.yaml | Heating schedules |
presence.yaml | Presence detection |
safety.yaml | Safety automations |
plants.yaml | Plant monitoring |
Custom components
Custom components are managed via HACS:
| Component | Purpose |
|---|---|
| Adaptive Lighting | Dynamic brightness and colour temperature based on time of day |
| Better Thermostat | Improved thermostat control |
| FMI | Finnish Meteorological Institute weather integration |
| Govee | Govee light integration |
| Proxmox VE | Proxmox monitoring in HA |
| Spook | HA extensions and utilities |
| mass_queue | Custom Music Assistant queue management |
Key integrations
- Sonos — multi-room audio, controlled via Music Assistant
- Music Assistant — music server and playback control (runs as a HA add-on)
- ZHA — Zigbee coordinator for lights and remotes
- Matter — smart home protocol for compatible devices, including radiator thermostats
- ESPHome — air quality sensors
- MCP server — exposes HA to AI assistants via the Model Context Protocol