After some experimenting, I've come up with a reliable way to turn various Sonoff Switches on/off based on current Sunsynk stats such as SOV, Grid load, Solar generation, time of day etc. It even has a simple dashboard I'm displaying on an old phone stuck to the wall so that the family knows when is a good time to fire up the washing machine, dishwasher etc. I have various rules (in a bash script) that looks at the Sunsynk stats every 5 minutes and takes decisions on what to turn on/off based on current conditions. This is especially useful if like me you have the entire house on essential load and want fine-grained control of where excess power is used, while minimising Eskom usage.
Sonoff switches are like R150 so it does not break the bank to add this level of automation. For the geyser, I have a 20A Sonoff which is a bit more but not crazy price.
In my basic searching, I'm not sure if anyone has done this before as I have seen posts about waiting for the Sunsynk smart switch to do this kind of thing. If this is novel and people would like to know how to get this right, please let me know and I'll do a write up. I didn't want to do a long post, only to find that I've reinvented the wheel.