SmartThings Community

SmartThings Swimming Pool Solar Heat Automation - DIY


My youngest has been bugging us for a pool. Not wanting to endure the time/expense/pain of an in-ground, this bag of water will do for a few years until the kids split. A few days of digging to level a 20ft circle and hauling three yards of masonry sand, and we were good to go.

I managed to get this level to within about a 1/4" or so, apparently important in keeping a bag of water happy…

Once the day or two of prep was done, setting things up was simple. It turns out salt water is not so hard to manage…but the solar heaters and plumbing ended up likely costing more than the pool/filter/chlorinator combination.

First of all, if you buy a pool kit like this, it will come with hoses terminated with 40mm metric threads (all hose ends are female) to connect the pump and sand filter together. I added a salt walter chlorinator (again, from Intex) which uses the same hoses. If you’re planning on adding in solar, you’ll want to purchase the hose adapters below, and a few extra 40mm hoses as well. Both can be found on Amazon. The hose adapters take the 40mm female hose end to a male 1 1/2" thread so you can use standard ABS or PVC fittings to plumb in your solar. Intex 1 1/2" hose actually uses a 40mm thread…so you’ll need the adapters.

You can mickey mouse your own fittings, but keep in mind that a 7000 gallon pool makes a pretty big mess if a fitting fails! I played with a few iterations and just ended up using these adaptors from GAME. My brother has a similar setup and tried cheap Intex solar mats. Not only did they fail, but his pool was drained twice because of this!

You can see the adapter used in the following pics. Why do you see both ABS and PVC? I started using PVC and then realized that the less expensive ABS is more than adequate given the low pressures and temps at play here.

Btw, if you’re planning on adding a pool vacuum, this plumbing arrangement works great. The pool vacuum is the blue hose on the right, and standard water intake for the Intex pool on the left. If you leave the pool vacuum head in the pool, there is an added benefit as you can draw cooler water from the pool bottom. This increases solar efficiency…

As far as the solar, it starts here as I take the water output from the chlorinator via the Intex hose adapter to 1 1/2" PVC pipe. The bottom is the supply (cold water), where you see a check valve (spring removed, so flapper only) to prevent water draining from the panels from running through the sand filter backwards when the system is shut down. Warm water from the solar panels enters the pool via the standard Intex return hose on the top pipe.

In the closed position the valve you see forces all water through the solar heaters, and open, it essentially bypasses them.

As far as the solar water heaters, it makes zero sense to make your own when you can purchase 4x20 ft kits like this via Amazon for $167.
Btw, there are heaters out there like the GAME which are complete and utter wastes of money. To heat pools with solar you need square feet…from 50% to 100% of your pool surface area depending on how shaded the pool is. Our pool is pretty much 80% shaded, so 160 square ft of collectors is a bit undersized.

I’ve done something unconventional and draped these collectors (they are 20 ft long) over the peak of my kitchen roof…which is about 16ft away and 15ft up from the pool. I was thinking air entrapment would be an issue, however it’s not proven a problem.

This is the view of the panels on the intake side, looking down. I’ve made a manifold of sorts so that each side of the 2ft wide panels is now an intake, and far side (previous pic) are where the water exits the panels. The manufacturer has the panels set up so that water enters and exits the same end…with the far end blocked off. This forces a 40ft water path through each panel, which proved far too restrictive for my setup. I’ve plumbed these basically in a parallel configuration which is what the pros recommend. Having tried both, I’d agree. Flow was terrible when set up as per the manufacturers recommendations. Keep in my mind that I’m using the standard 1600 gph Intex pump that came with the pool I did not want to up a separate solar circuit and motor. Thankfully, the Intex pump has enough head to run water through these panels, once they they were plumbed as a paralel non-cross flow config. (I tried several configurations!)

This is the view just below the kitchen roof where supply and return are plumbed. The black/green bit in the middle of supply is a combination vacuum relief/bleeder valve.

You might think that this valve should go at the highest point of the solar array, however this did not work. Suction (from return water) kept pulling the floating ball contained in this fitting downward off its top seal, allow air into the system while the pump was running. Putting it on the supply side worked far better as the pump pressure now keeps the internal sealing ball properly pushed up against it’s top seal. When the pump turns off, the internal check ball drops down and allows air into the system, ensuring all water in the panels can drain back to the pool. This prevents suction in the system from collapsing the panels. A vaccum relief valve is another “feature” that you would (or should!) find in any professionally installed system. With a more powerful pump I likely could have moved this relief/bleed valve higher in the system so it would serve as a high side bleed as well as vacuum relief.

I should mention that I tried a few configurations, and this one works best. Why? Flow to the pool (again using the standard 1600 gph Intex pool pump) is very good…almost as good with solar as without. Also, temperature gain is about 4-5 degrees F on a sunny day, which indicates high efficiency. The goal with solar pool heating is very high flow, and a low temperature differential. This in turn maximises BTU gain to the pool. On one of the early days of use, I calculated about 460 000 BTU gain in one day. This is calculated taking (gallons X temp gain in F X 8.33). Our back yard is completely shaded virtually all day, so solar gain is pretty much via the solar panels only.

Automating the pool pump via SmartThings turned out to be an interesting project. The first thing I had to do is replace the GFCI plug end for the pool pump as cutting power to it requires a manual reset. Not good for automation. The entire system is plugged into a GFCI, so removing the plug end was not a safety issue in this case.

I’m using a GE outdoor power dongle that is controlled by zwave, so therefore ties into the SmartThings hub and automation. I use these units for my outdoor lighting and winter block heaters (for the cars) … they are very reliable.

Both pool pump/filter system and salt water chlorinator run off the zwave plug above. The chlorinator has it’s own digital timer that you can set. When powered on, it just runs for 3hrs (this time works well for this pool, based on water testing for free chlorine), so this device didn’t need any further automation.

To automate things I just needed to be able to measure the roof temps, vs water temps. These SmartThings door/window sensors have a built in temperature chip, so work as relatively inexpensive wireless sensors. They use the Zigbee protocol, so require a powered Zigbee device (like a smart plug) reasonably close (15-20 feet) to ensure good signal relay back to the hub. I had one of these floating in a weighted ABS (sealed) pipe but kept losing signal depending on where in the pool it was floating. More on that later. Right now, these SmartThings sensors work well sitting in a small Tupperware container on the roof, and directly in contact with the return/supply pipes, just sitting on plastic zip lock bags, and wrapped in foam to insulate them from outside temps. These sensors all require “calibration” which means checking the temps with something reliable, and entering an offset in SmartThings ( plus or minus) so the sensor is showing the correct temperature.

I found reference to the 1st generation Fibaro door/window sensor (zwave) that has a connection block to allow use of an external temperature probe (DSB1820). The 2nd gen version Fibaro door sensor does not have an external temp probe, however their Universal Binary Sensor does :slight_smile: This works very well indeed…and is much more accurate than the SmartThings sensor. No calibration required in this case. I’ve wired in 3 rechargeable AA cells (3.6 volts) to replace the small lithium cell that the sensor uses. The battery carrier was removed from a cheap LED flashlight, and sits with the sensor in the ABS tube (pic below) attached to the pool frame.

This is the wiring used with the external temperature sensor.

The DS18B20 waterproof external sensor is pretty inexpensive on amazon at $4.

This was my floating sensor housing, now re-purposed as a water proof housing for the Fibaro sensor. It returns temps in Fahrenheit to 1 decimal point accuracy. The probe just hangs over the side of the pool sitting 6-8" in the water.

In the SmartThings app, this is what the pool sensors look like on a sunny day:

I added a SmartThings “virtual switch” (you need to do this in the web IDE) so I could turn the pump on and have it ignore the automation code that turns the pump on and off. The code I wrote using WebCore in SmartThings turns off the solar logic if this virtual switch is “on”. WebCore is an app you can add to SmartThings that allows you to write pretty complex automation code in any web browser…freeing you from the iOS app. My little apps (called Pistons on the webcore world) are very simple.

This one turns the pool pump on if the roof temps exceed water temps by six degrees F., and turn it off if temps are less.

This bit of code sends a notification to our iOS devices if the pool pump is turned on or off:

Finally, this bit of code turns the pump on or off and pauses/resumes the solar control app if one turns the pump virtual switch on or off. This way the pool pump can be run regardless of the water/roof temps.

This system has been running pretty much unattended for six weeks now, so a success in my book :slight_smile:


Here’s a few graphs from a warm day last week:

I took a few minutes to measure actual flow (with a 2 gallon bucket) with the sand filter and solar array active. Flow is lower than I had guessed, at about 1028 GPH.

System performance specifications:

  1. Pool Pump - Intex SF80110-1 , 2 amps , 1600 GPH.
  2. Actual (measured) system flow with sand filter and solar array in use: 1028 GPH
  3. Max measured BTU (at about 3pm with full sun, 28C day) = 1028 x 8.33 x 6F = 51 379 BTU/hour
  4. System head (max lift height to peak of roof) : 17ft