Skip to content
Cory Verellen edited this page Mar 26, 2018 · 19 revisions

Oasis Spa Controller

The Oasis Spa Controller was built on Rick Feenstra's Excellent Project. I searched all over the interwebs for something that would be a seed for my idea. His project was the only thing I found out there that came close to a finished, working and installable hot tub controller based on the Raspberry Pi. After chatting with him on email about code and ideas, I'm starting this GitHub project.

He built his original code for his own purposes, controlling a traditional Hot Tub (and Pool too I think!) with traditional pumps and heater. His website controls the Raspberry Pi’s GPIO state of pins directly, like normal RPi code would. The functionality is perfect, but I wanted to be able to use wireless IoT switches. Since my tub is an inexpensive inflatable model, and I’m using propane heat, my power requirements don’t get into high-voltage territory. The relays and Temperature sensors I'm using are Sonoff flashed with ESPurna firmware.

Instead of re-writing the website’s functions to adapt it to MQTT communication we are running a program which listens to the state of the Raspberry’s GPIO pins. If this program detects that a change has been made from a GPIO pin's state it will fire off the appropriate ON/OFF MQTT message to the device associated with that Pin. In this way the website will still function as Rick wrote it, as well as adding new IoT functionality. The functional code is still at least 80% of his, all credit where credit is due. I've added quite a bit of CSS and html tweaking, and some additional functionality/tweaks to the bits that do the work.

Currently, the process for assigning, and configuring MQTT devices is a manual one. You’ll have to edit the config file yourself for every device you want to add. It isn’t ideal, but I don’t have the scripting chops to make it happen via the website directly, maybe you do?

The MQTT functionality is accomplished with the GitHub project: Hallonlarm. The program comes installed with the Oasis Spa Controller Raspberry Pi image if that is how you choose to install. Your job will be to supply the MQTT Broker address and configure each MQTT device so the program knows how to communicate to/from and which pin it should be assigned to. Additionally, Hallonlarm has additional functionality that may be useful for your specific setup.

This repository is my nudge to keep this thing updated and current. My hope is that Rick, while his project is done and working fine for him, can contribute when needed. Also, I think this thing could really use some community involvement. How about adding an entertainment system? A better UI (a touch friendly heat dial?). This could become the defacto Spa controller for makers.