Control a custom hot tub using a bunch of relays and sensors.
This is work-in-progress.
- Control (via relays) of (at least):
- 2-speed pumps
- blower
- heater
- lights
- (TBD) Valve actuators with smart power-off
- Reading temperature sensor data and tying it to controls (eg heater)
- Sheduling on/off behavior
- Overriding said schedule briefly (eg pump to high for 20 minutes)
- (TBD) Overriding said schedule in the future (eg heater up 10 degrees for the weekend)
- Web UI
- Touchscreen UI using wireless display/ESP32 boards via ESP-NOW protocol
- OTA updates
- Simple controls use single relays
- 2-speed controls use two SPDT relays (1 for on, 2 for speed), wired in series.
- Copy secrets.h.sample to secrets.h and edit for your settings
In controller/
subdirectory:
- Build and upload the controller code using either:
- Arduino IDE (ensure you have ESP32 board support installed)
- arduino-cli, if installed (try
make upload
)
- Reboot the board and check that it's on the network and listening on port 80
- Upload the web interface using either:
- Arduino IDE: Use this plugin
- Command Line: try
make upload-spiffs-via-http
See README.md in that directory
Instructions are similar to Controller See README.md in that directory