A dedicated Python planner that drives my combi-boiler setpoint on a five-minute cron. It replaces an older Jinja ladder that essentially knew "home" and "away" with a rung model that pre-heats on a fitted thermal response, tracks whether comfort setpoints land on time, and re-fits itself weekly. Water heats on the same boiler all year round; this page is about the heating decisions, not the water.
Live since 2026-09-10 (27 days). Winter 2026-27 is its first real season. The gas-per-heating-degree-day chart below sets it against the two prior winters — physical units (kWh / HDD) rather than cash, because UK gas prices have shifted a lot in those three years and would otherwise swamp the signal.
Updated 2026-10-07 22:37 from the planner MQTT feed · decisions, arrivals, fits, gas-HDD rollup · weather from Open-Meteo (London)
Gas per heating degree-day
Heating hasn't fired yet this winter. Last winter (2025-26) it turned on 10 Nov — 34 days to beat.
Heating gas per heating degree-day (HDD base 15.5°C). Daily mean temperature is from Open-Meteo for London. The planner subtracts a summer-median hot-water baseline (the combi runs water all year) before dividing by HDD. Lower is better: more heat for less gas when it's equally cold outside.
Current winter still warming up — the planner holds back a saving headline until 100 HDD on the board (usually early November). So far: 0 / 100 HDD.
| Season | Days | HDD | Heating kWh | kWh / HDD |
|---|---|---|---|---|
| Winter 2024-25 | 203 | 1476 | 1,746 | 1.18 |
| Winter 2025-26 | 212 | 1377 | 1,231 | 0.89 |
| Winter 2026-27 | 6 | 0 | 3 | 5.89 |
| Pooled baseline (2024-25, 2025-26) | 1.04 | |||
Attribution caveat: any gap between the two baseline winters happened before the planner went live (2026-09-10), so anything learned from that gap is not down to this system.
weather-normalised, not controlled: anything else that changed between winters is in the saving too
Comfort on time (last 7 days)
15/15 arrivals (100%) landed at or above the comfort setpoint on time.
Thermal fit
Latest fit: 2026-10-04, n=5714, R²=0.17.
Fit is weak right now — the fitter needs sustained boiler time to pin down warm and loss rates, and almost nothing has run since the planner went live in a mild September. The numbers below will settle once heating season starts; treat them as provisional.
- Warm rate at 10°C ΔT: 0.54 °C/h
- Loss rate at 10°C ΔT: -0.06 °C/h
- Rate the planner is using: 0.65 °C/h