I have recently been looking into using a geyser to store excess solar energy.
For a 150L geyser, each additional 5°C that you raise the temperature ‘stores’ about 0.9kWh of energy. So raising the temp from the desired 50°C to 80°C can ‘store’ 5.4kWh.
Of course, geyser heat losses increase with temperature, so it is quite a leaky bucket - but it should be possible to store enough for evening use, and still be fairly warm the next morning.
(NOTE: For safety, a tempering valve must be installed in the geyser if you do this, or you run a serious scalding risk from hot water taps!)
The first step towards this, is a smart thermostat, which can talk to the inverter, and ramp up the temp when excess solar production is available. I was initially hoping to use a Geyserwise controller, but it proved trickier than expected to reverse engineer the comms protocol. Instead I have desoldered the MCU, and am replacing it with an Arduino (basically using the Geyserwise PSU, temp probe + signal conditioning and relay).
I am right at the very start of this project for now, but here are the bones:
https://github.com/justinschoeman/ModbusThermostat
Right now I just have an Arduino powered from the Geyserwise PSU, and reading the Geyserwise temperature probe.
Will be adding relay control logic, and an RS485 Modbus interface for reading the temp and setting target temperatures.