I have developed a commercial energy management system based on openHAB to control all sorts of consumers, and to put a longish discussion short: what you ask for, to put them all under one control regime with a common algorithm, won’t work.
Reason is, relevant consumers are just too different in nature.
A heat pump you (usually) cannot control directly how much it’s to consume.
Also, you don’t know how much need for heat there will be.
An EV charger you can limit, but there’s limits that make it very hard such as the 1,4kW minimum per phase charging requirement, plus most of the time the EV isn’t at home when sun is, and more.
White goods such as washing machines cannot be controlled or limited once started, and they have a pretty unique consumption profile depending on the washing program plus there’s impact when you try to move the washing.
Best you can do imho is to use the forecast binding (search the forum there’s a thread) then start your white good devices based on expected yield.
PS and once you add a dynamic power tariff as a 2ndary source of cheaper but variably-priced power like my EMS does, it’s getting even more complicated.