I use a weather node in Node Red to access an UVI sensor on a local WUnderground weather station. This gives the UV value which I can then use to start and stop various bits.
For the geyser (2kw element) its more simple (Sonoff R2) being used to switch geyser (it has a timeswitch if needed as well).
SOC greater than 80% = Geyser is ON
SOC less than 70% = Geyser is OFF