Home Assistant gives you a valve position per TRV but nothing that tells the boiler how hard to work. This post walks through a template sensor that computes a weighted heat demand score across every room.
The core formula weights each room by its valve open percentage, adjusted by how far it is from the target temperature. Rooms that are cold and wide open count more than rooms that are slightly below setpoint with a narrow opening.
Once the sensor was in place, the next step was wiring it to the boiler via a Shelly switch and a simple automation — fire when demand crosses a threshold, kill when it drops back. The result is a boiler that cycles less and heats more efficiently.