My personal Home Assistant configuration.
Configuration is split into focused files included from configuration.yaml:
| File | Purpose |
|---|---|
automations.yaml |
UI-managed automations |
config_files/backend_automations.yaml |
Backend automations (alarm logic, presence-based arming) |
config_files/sensor.yaml |
Template sensors (appliance status, door timestamps) |
config_files/groups.yaml |
Person groups (family + guests) |
config_files/cameras.yaml |
FFmpeg RTSP camera streams |
config_files/alarm_control_panel.yaml |
Alarm panel configuration |
config_files/customize.yaml |
Entity customizations |
integrations/google_assistant.yaml |
Google Assistant exposed entities |
integrations/notify.yaml |
Notification services |
integrations/alert.yaml |
Persistent alert definitions |
integrations/utility_meter.yaml |
Energy & gas tracking (daily + monthly) |
integrations/sonoff.yaml |
Sonoff LAN configuration |
scripts.yaml |
Script definitions |
scenes.yaml |
Scene definitions |
- SonoffLAN — Local control of Sonoff/eWeLink devices
- Eufy Security — Cameras and doorbell
- Bosch Indego — Lawn mower automation
- Xiaomi Cloud Map Extractor — Roborock vacuum map
- WebRTC Camera — Low-latency camera streams
- Afvalwijzer — Dutch waste collection schedule
- HACS — Custom integration package manager
UI, TTS, and automation names are in Dutch (nl).
The production branch is main. Work on a feature/* branch, open a pull request, and squash-merge only after the Home Assistant configuration check passes. The Home Assistant Git pull app on the NUC polls main and deploys approved changes locally; the SMB share is not used as a Git working copy.
See CONTRIBUTING.md for the branch, security, and rollback workflow.