Interesting,
I am looking at doing a similar project.
Im curious why you used a contactor? I guess there is no chance of the NO and NO contacts powering the circuit at the same time.
I already have some smart control over my geyser, including a Geyserwise thermostat, and an SCR for power control as I run it on my inverter to try and optimize solar usage. But there have been days I wanted to move it to grid to heat up.
I was looking at this project for inspiration
But I like your design and might just use a contactor.