Hello,
I had the exact same problem and the way we fixed (with Vaillant) was to install another “ghost” zone with an additional VR70 connected to the VR71 (3 zones). The contact is then a simple trigger for the 4th zone which is generating heat demand and has a different target temperature than the “normal” 3 zones.
So in normal operations, the 3 zones will work with their heat curves and target temps, loading the buffer normally. When I set the “contact” to on, the 4th zone is activated and defines a target temperature at 70 degrees to accumulate as much heat as possible in the buffer. I am then using this contact when the electricity hourly price is at the minimum or I have an excess of solar production.
My only problem so far is that the 4th zone in the VR70 is not showing up in Ebusd and I guess I will need to extend the configuration files by reverse engineering some Vaillant proprietary messages.
Hope this helps.