A slightly different heating system! Any helpers?

Soo. Here’s what I want to achieve. I started trying to build this in Generic Thermostat but I’m not sure it’ll quite cover the idea. I’m also quite a newbie and this is maybe quite a hard challenge for someone with little ESPHome/ Home Assistant experience.

I have a heater which heats a glycol loop. That glycol loop will heat 3 things: Water, Air, and the floor. Here’s generally the rules I need in super simple:

Want Water?
Turn on heater (simple)

Air temperature cold?
Turn on heater + fan

Want hot floor?
Turn on heater + open motorised ball valve. Ideally I could set min/ max temps of the floor itself and have the valve open/ close accordingly.

A couple of extra things that ideally need to happen. Every 40 minutes to 1 hour, everything besides the floor valve should turn off to give the heater at least a 10 minute break.

Doable? Or way too complex?

Should be doable.

Create a thermostat for your heater.

Use automations for everything else.