Smart thermostat

Oops - it anybody is actually using the thermostat code - there was a nasty bug, and you should update to latest GIT version… (Minimum hysteresis was effectively 1°C. When slowly cooling, Electrical noise causes measured temp to briefly oscillate between two adjacent readings, which causes the same oscillation in the load relay. Forced min hysteresis to 2°C to combat this.)

On a side note, the controller side software has been added in the SunsynkController directory.

And on a separate note, Geyserwise just called (regarding an earlier email about protocol information).

They have a newer controller ‘Geyserwise Senior’ which has an RS485 input for use with home automation. At the moment they only release the comms spec to selected developers, but are considering making it publicly available.

3 Likes

Finally got my smart thermostat running (although after dark, so no solar boost yet).


Basically performs 3 functions:

  1. turn element off when system load is too high, and only turn it on again when load is fairly low (it does rely on most inverters ability to sustain temporary overloads, as it takes about 1.5 seconds to turn off the element).

  2. act as a normal thermosts.

  3. heat the water as hot as safely possible when there is excess solar electricity available (since this is a bang-bang controller, it probes by turning the element on for a few seconds and if battery draw is too high, turn it off again).

3 Likes

I love those little OLED’s , got them all over the place :slight_smile:.
Well done!

Had the first day of sunshine yesterday, and have some test results…

My geyser is a newish Kwikot 150L. No geyser blanket, but hot pipes are insulated.

I initially heated the geyser to 75°C. Confirmed that there was no temperature overshoot, and that there were no vents or overflows from the geyser. Then heated it to 80°C and all was still good.

Last element activation was at around 5PM at which point the geyser ended at 80°C. By the time I showered at 11PM , it was down to 67°C. After a fairly long shower it was down to 62°C. And this morning it was down to 50°C (still without heating).

So the basics seem to work quite well. It will probably require a geyser blanket for similar results in winter, but an off-grid electric geyser is certainly practical.

The software does require some work though, as the boost dropout on battery current is too quick (it takes longer than I expected for the MPPTs to ramp up and take over the load).

4 Likes

as an academic exercise, seeing that domestic thermostats seem to have a high temp of 70° C, I wonder if this is due to trying to reduce scalding related law suits, and/or whether increased temps contribute to faster failure of the cylinder… i.e. I wonder whether long term use of temps > 70° C might hasten the demise of the geyser? (if nothing else the anode should go faster and overall development of corrosion might increase?).

Increased tension on joints from increased temp and resulting increased pressure could also contribute to premature failure?

Quite interesting to see thermal images of a geyser and how especially the mounting structures are neglected when thinking about preventing heat loss - the geyser feet end up being a fairly effective heat sink… (image from here)
Geyser_HeatSink

As far as I know, there are no regulations on water temp in SA. Many other countries do though, and they are ‘interesting’… Water out of the tap may not be hotter than 50°C, BUT water storage should be above 55°C.

This means that in most countries it is compulsory to fit a tempering valve to the geyser (a thermostatically controlled valve that mixes cold water with the geyser output to regulate the temperature).

For an installation like mine, I would say a tempering valve is also compulsory, whether legally required, or not. Which is why I put the big NOTE in my first post.

As to the lifespan of the geyser - yes it will likely be reduced. I did speak the technical rep at Kwikot, and he told me that the highest temperature used commercially with their geysers is 75°C. The lowest temperature rated component is the release valve, which will start opening at around 92°C. 80°C is out of the comfort zone for Kwikot, but well within the specifications of what the geyser can handle.

1 Like

From my understanding if you heat your tank at least once a week to above 50°C-55°C this prevents the growth of algae. My guess is that is the reason for this requirement.

think you meant legionella?..

1 Like

Either way, I doubt it will be a problem in my geyser now. Would need some pretty exotic beasties to grow in there now :vb-lol:

1 Like

definitely was not hinting at your potential exposure if someone else cranks their geyser to whatever temp.

Like I said is purely academic because I like to try to quantify things. In this case I am curious about the cost vs benefit. i.e. having a PV system that cost money to install to potentially save costs going to eskom, but now the PV has capacity spare so now people need to find a way to use that capacity… if the PV in the end makes the geyser go pop and insurance does not replace it, would one save money vs having eskom heat the geyser from the start…

1 Like

I don’t think insurance would be an issue. As I pointed out - it is confirmed to be within the limits for the geyser. If you are really paranoid - only heat to 75°C, which is available on commercial thermostats.

:rofl:

legionella as well :slight_smile:

Cool project. Also glad to see that somebody else does what I do – use excess PV energy to boost my geyser’s temperature.

I have an Apollo 300l evacuated tube geyser – but I find my PV system is more effective at generating energy than the solar geyser itself. So I started boosting the temperature with excess solar energy (I also know about stories about the geysers reaching 80, 90 degrees by themselves, so I assume it is safe enough to have the geyser at those temperatures).

I went a more basic route – basically letting Home Assistant control it. Reversed engineered the basic temperature probe that came with the geyser (NTC thermistor) and used a Wemos D1 Pro and a basic voltage divider to bring it into the 3.3V range for the Wemos D1’s analog input. Then used ESPHome to incorporate it into Home Assistant as a sensor. Calibrated it with an existing thermometer and tap water and boiled water.

On the geyser control side, I have a 30A contactor controlling the element (which has its own thermostat set to 75 degrees) and a Sonoff Basic with Tasmota controlling it.

The logic in Home Assistant:

  1. When my batteries are full, update my Solcast sensor
  2. If there’s more than 3 kWh of predicted solar generation left for the day, activate the geyser for 15 mins
  3. This basically consumers 1 kWh - usually a blend of pure PV energy and a bit of battery (it is a 4 kW element). Battery typically falls a bit.
  4. Wait for the battery to reach 97% or higher and repeat until the geyser reaches 75, or there’s less than 3 kWh worth of PV energy predicted remaining.

This was today – a fairly cloudy day.
image

I find it particularly useful in that boosting the geyser up to 75 degrees with excess PV energy basically means that even if the next day is cloudy I will still have ample hot water - and usually the day after too.

edit: I need to get a tempering value! And I do like it that yours are more standalone – in my system Home Assistant definitely is a bit of a risk (should it fail, I will need to go and kill it at the DB board, although luckily the built-in thermostat will keep it from running higher than 75 degrees).

3 Likes

What I would really like to do is use a a SCR to control the Geyser element power output. My skill level is a bit limited but I was looking at this SCR from Bangood , one idea is to then use a very small stepper to adjust the dial. Crude but I think it could work…
You will then be able to “match” you panel output to dump he energy without placing the batts under strain unnecessary.
What is the opinion on this :slight_smile: ?

I like the idea a lot, but I’ve heard two problems with these type of devices:

  1. It could cause harmonics which might mess with your inverter’s sine output
  2. It wouldn’t be a SABS / ICASA certified device (i.e. approved for use in SA), which could cause insurance problems if it causes a fire.

I am also a bit weary of putting high power dimmers on an inverter. Just the thought of trying to design an inverter that can accurately track the current demands of a dimmer, gives me the cold shivers…

While I am sure that some inverters do it OK, many do not. Also, while dimmers do modulate the average power, they (mostly) do not affect the peak power of the waveform. As a result cheaper inverters may end up overloading even while registering low loads.

In the end, I chickened out and opted for bang-bang control, even if I do need to lightly drain the batteries to run the geyser at times.

1 Like

@plonkster , what is your thoughts. Would the Victron inverter be able to handle something like this Or is there maybe an alternative , even if the cost is higher.

I’m sure it will be able to handle it, but as someone has noted, just because the dimmer makes it run at half (real) power doesn’t mean the peak isn’t still the limiting factor, especially for any power value over 50%.

Also, I’ve listened to the sound my Multi makes when the wife is running the hairdryer at half power. That’s a 50% duty cycle (since mostly what it does is throw a diode in there to cut half the cycle), so I can only imagine what it will sound like with <50% :slight_smile: It probably won’t blow up anything, but I’m not sure what the generated sine wave will look like.