The deep-dive
A building is a leaky capacitor.
This page is for people who want the mechanism, not the metaphor. It describes how WattDodger represents a house, how it learns that house from measurement, and how it turns a price forecast into a heating schedule.
01 — The thermal model
Charge, leak, repeat.
Treat the heated envelope of a house as a single lumped thermal mass at temperature T, sitting in outdoor air at Tout. Heat flows in from the heat pump, from the sun through the glazing, and from the people and appliances inside. Heat leaks out through the fabric at a rate roughly proportional to the temperature difference.
Left alone, such a body relaxes towards ambient exponentially, with a time constant τ = C / U — its thermal capacitance divided by its heat-loss coefficient. That single number governs everything: it is how long the house can coast before it needs more heat.
On the reference property, τ fits at roughly 18 hours. A house that loses only a few per cent of its temperature difference per hour can be charged overnight and still be comfortable through the following evening's peak — which is the whole trick.
The hot-water cylinder is modelled separately, because it behaves differently: a well-insulated tank of water is a much better store per litre than a building is per cubic metre, but it is drawn down in sharp, unpredictable bursts when someone takes a shower.
02 — Learning the house
Fitted, not assumed.
Nobody knows their house's time constant, and published U-values describe the house that was drawn, not the house that was built. So WattDodger does not ask. It watches.
Every period in which the heat pump is off is a free-cooling experiment: the indoor temperature decays, the outdoor temperature is known, and the ratio between them yields τ. Every period in which it runs is a heating-rate experiment. Over a few weeks these accumulate into a model of this particular building — its cooling constant, its heating rate at a given outdoor temperature, and how solar gain through the windows shifts both.
The model is re-fitted continuously, so it tracks the house as it changes: new insulation, a different season, a door left open all winter.
03 — The schedule
An optimisation with comfort as a hard constraint.
Given the model, the day ahead becomes a planning problem. WattDodger assembles four forecasts — the tariff's price for each period, the weather, the expected rooftop solar generation, and the occupancy implied by the calendar — and looks for the cheapest sequence of heat-pump actions that keeps the house at temperature whenever somebody is in it.
Comfort is not traded against cost. It is a constraint: the setpoint must be met during occupied periods, and hot water must be available. Cost is what gets minimised subject to that. The result usually looks like the same few moves — charge hard on the night rate before the morning peak, top up from solar around midday, bank the cylinder to target before the household wakes, then coast.
On spot-price plans the same machinery works against forecast wholesale prices instead of fixed time-of-use bands. On plans with no price signal at all, it optimises against carbon intensity and self-consumed solar instead.
04 — Two layers of actuation
Talk to the appliance in its own language.
A heat pump is not a light bulb. It has its own controller, its own defrost logic, its own compressor-protection timers — and it is right to. WattDodger therefore actuates in two layers rather than switching the machine on and off.
Coarse
The tariff signal
Modern heat pumps accept a SmartGrid-style input: a coded hint that power is currently cheap, normal, or expensive. WattDodger drives that signal from its own schedule, and the appliance's controller decides how to respond — blocking or boosting within limits it considers safe.
Fine
Setpoints over Modbus
Underneath that, WattDodger writes setpoints directly — room target, cylinder target, curve offsets — over Modbus. This is what actually stores the energy: asking for a degree more heat than comfort strictly requires, at the hour when that degree is cheapest.
The reference installation controls a CTC EcoZenith i250 this way, alongside a Fronius inverter and a BYD battery. The approach generalises: what matters is that the appliance exposes a setpoint and a price hint, not who made it.
05 — A hardware idea
The buffer-tank top-up radiator.
One problem with a single heat pump serving both space heating and hot water is that it cannot do both at once. Every cylinder reheat is a gap in the house's heating — and those gaps land exactly when you have deliberately banked heat and are trying to coast.
The reference house solves this with a buffer tank on the radiator circuit, carrying a single always-open "top-up" radiator sized to offset the building's steady-state heat loss. While the heat pump is busy making hot water, the buffer keeps that one radiator warm, the house holds temperature, and the coast continues uninterrupted.
It is a small idea with a large consequence: it decouples the two thermal stores, so the scheduler can charge either one without stealing from the other. Patterns like this are what WattDodger means by pioneering the framework — the standard for thermal-storage energy management does not exist yet, so we are writing it down as we find it.
Convinced, or sceptical?
Both are useful. Go and check.
The simulator lets you vary the insulation, the tariff and the solar array and watch what load-shifting alone is worth. If the physics doesn't hold up on your house, it will tell you that too.
Figures quoted here come from a live installation. They describe that house, on that tariff, in that climate. Yours will differ.