Arduino ST_Anything Pool Controller (SuperFlo VS) for Hubitat
The goal of this device is to control my Pool Pump (Pentair Superflo VS) + my SR Smith Kelo pool lights. The goal is to have buttons to control what speed the pump is running and optionally, being able to control the lights. The main reason for me to do the speed was that I could force a higher speed when the pool heater was on (heater on 40AMP outdoor outlet). Now I have a Hubitat automation that can ensure the pool speed is on speed 1 when the heater is on.
To get started you'll need:
- LinkNode R8. If you have an R4, you'll need to review this device and modify it to fit the options of my R8. From some of the pictures below, you'll see an R4, but I wasn't running ST_Anything/Hubduino on that device, so I don't have R4 code to share. You'll also need a power supply, or be comfortable dissecting an old USB cable and hardwiring it to your R4 or R8 device.
- ST_Anything and Hubduino
- SuperFlo VS Communication Cable
- Pool Lights (Optional) - Any model that is low voltage and the colors are triggered via quick on/off/on to cycles to go through the modes/colors.
Follow the instructions with ST_Anything and get it and it's dependancies setup in Arduino. Connect your R8 or R4 device an FT232 device or similar that can be used to program the ESP8266 on the R4 or R8.
Install ST_Anything-LinkNodeR8.ino into Arduino and modify the settings for your wireless network, Hub IP, and config settings below
The configuration in LinkNodeR8 code is setup this way:
- Switch 1 = Speed 1, Switch 2 = Speed 2, Switch 3 = Speed 3. Switch 4 = Quick Clean
- If you turn on any speed, it turns the other speeds off.
- Relay Switch 9 is 15 minutes of Quick Clean, Relay Switch 10 is 30 minutes of Quick Clean; it will turn both of these off when complete but won't turn on any other speeds when done.
- Relay Switch 1-8 are configured as timed relay switches to turn the switch on/off/on within 1 second for a certain number of times which in turn, changes the colors. This is a common design for pool lighting systems. If you're not going to wire your lights to this and only want to control your pool speeds, comment out the relay switches and executors for that particular relay within the code.
- Splice your SuperFlow VS communication wire and wire it according to the docs below and speeds mentioned above.
Note: by default on a SuperFlow VS will use external controls if any of the inputs have signal, otherwise, the pump will follow the schedule on the device. This worked best for me. If you want only External controls to work, follow this information. You cannot power on/off the pump via either method.
- If you are wiring lights, you'll need to tap into your existing power for your low voltage lights and essentially put a relay inbetween those connections. Be very careful if you're messing in your pool control or lighting control box and insure that mains are off at the breaker.
- Install the rest of Hubduino in Hubitat and it should discover all of your switches and relayswitches. If everything works, put everything in a water-tight box.