Case study // Experiment
Home Assistant: my home as a production system
Heating, lighting, presence and the robot vacuum in one installation. Runs as a VM on the same host as this site.

01Context
Heating, lighting, presence and the robot gradually converged on one installation, bringing the usual question: still a toy, or infrastructure already?
This site runs in a container on the same Proxmox host that carries Home Assistant as a VM. Two systems, one host, no staging layer in between.
02How it was built
Whatever repeats is built declaratively: a self-authored blueprint drives seven rooms through three modes (custom, off, auto) plus a global master switch and an optional absence offset. After 30 minutes without a setpoint change the room falls back to auto.
Where standard conditions were not enough, conditions use area targets instead of entity IDs. The absence automation turns off thirteen indoor areas with a five-second fade, while outdoor areas are deliberately left alone.
The outdoor light hangs on a lux threshold with two-minute debounce, a night window and a re-sync after a restart, because raw lux values flicker and Home Assistant restarts.
The cleaning routine runs at night, checks for lights off and no occupancy, starts the room and waits up to two hours to return to the dock instead of assuming the robot is done.
03What I learned
The interesting part is not the heating but the addressing: querying the lights of an area instead of listing them picks up new bulbs for free. And a smart home can only be inspected by an agent if the installation exposes its own state cleanly.
04Outcome
1,357 entities across 18 areas, driven by 22 automations and two self-authored blueprints - and whoever reads this just got those numbers through exactly that path.