Hi everyone,
After months of refinement, I’ve finally finished my fully automated heating system and a dedicated dashboard extension for my Home Assistant setup. My goal was to move away from rigid schedules and create a system that treats the house as a “living entity” that responds to occupancy and intent.
The “Brain” (The Logic Engine)
The backbone is a complex automation engine (YAML-based) that manages house modes (Home/Away/Night) using people as the primary truth for occupancy.
Key Features:
- Intelligent House Mode: Uses
personentities andbinary_sensorpresence signals to determine state, with logic to prevent “mode flapping” during the night. - Pre-heating on Approach: Using iOS shortcuts and webhooks to calculate ETA and warm the house dynamically before we arrive.
- Timed Manual Holds: If a user manually adjusts a TRV, the system respects that intent for a set duration before returning to the “Heating Policy” automation.
- Wet Room Boosts: Automated logic to handle bathroom/towel radiator demand independently.
The “Beauty” (The Dashboard)
I’ve extended the glassmorphic aesthetic of my main dashboard into a specialized Thermal Control view.
- Adaptive Central Dial: Changes context based on the selected room.
- Live Snapshots: Real-time temperature/humidity traces across the house.
- Efficiency Insights: Local AI-generated insights based on boiler runtime and history.
- Heating Policy Settings: Rather than having to change the figures within scripts/automations, an inbuilt section to the dashboard that controls all figures pertinent to the Heating Policy.
Video Walkthrough: I’ve put together a detailed video showing the dashboard animations in action and a look at the thought process behind the project:
Hardware:
- Gateway: HA on RPi 4
- Valves: Aqara Smart TRVs
- Boiler Control: Tado X (Understated/Invisible integration)
- Presence: Aqara mmWave sensors (FP2, FP300)
I’d love to hear your thoughts on the logic, especially how you guys are handling weighted average temperatures or complex multi-zone priority!
In case you are interested, below is the video I created to showcase the main dashboard last year.

