I might be misunderstanding the curve calculations but I think there’s a mistake in Vaillants example and hence in your calculations in the first post.
The figure you posted and your tables claims that for a setpoint room temperature of 21°C, all flow temperatures get shifted by 5°C compared to 20°C setpoint. That value is too large. I think Vaillant just picked that example to have a nice round number (45°C) in their manual.
The 45 degree angle parallel shift of the curve actually leads to a flow temperature change that depends on the outside temperature especially when it’s warm outside. The reason for this is that the shifted curves have to converge at the point Outside Temperature = Setpoint temperature. The original 20°C curves all converge at 20°C and the same must be true for the different setpoints.
An approximate equation that can be fitted to the heat curves (adapted from some German forum where I stumbled over the general idea) is:
TFlow = a * (HC * (Tset - Tout))b + Tset
HC is the heat curve parameter (e.g. 0.3), Tset is the desired room temperature and Tout is the outside temperature. a and b are the parameters of this model that can be fitted to Vaillants curves. The heat curve parameter acts as a multiplier on the indoor-outdoor temperature difference, which is then taken to the b-th power and multiplied by a to get the deltaT the flow temperature needs to be above the set point room temperature.
Using the figure you posted, I extracted the data points using WebPlotDigitizer. I then fitted the model to the data and arrived at
a = 2.55
b = 0.78
The calculated flow temperatures match what I read from my AroTherm plus’ desired flow temperature at a specific outside temperature via eBus and are off by only ~0.07 °C currently. I changed the desired indoor temperature on the controller and at 8.625 °C outside temperature got desired flow temperatures on the heatpump of:
19°C set → 25.25°C flow
20°C set → 26.71°C flow
21°C set → 28.16°C flow
My model yields 25.18 °C, 26.64 °C and 28.09°C respectively.
For a curve of 0.4 at -15°C outside, I get 39.97°C flow which fits Vaillants 40°C in the manual.