So obviously, having a faster heater is better.
I ran some calculations before deciding to spend the money on a propane heater to see if the cost would work out. I'll dig them up and add them here, since it's interesting, but spoiler alert, it's worth the money.
The built-in electric heater will heat about 2°F/hr, if you're lucky. The propane heater on the conservative, more efficient low flame heats about 5°F/hr. If you're willing to take a 10% efficiency hit, the high setting does 15°F/hr, which means the tub is basically ready to go in 2 hours, even if you've left the heat off for a week. (More on how I measured/calculated these numbers next post. Sorry I'm a tease.)
Unfortunately, with great power comes great responsibility.
Even at 5°F/hr, you've got to check the hot tub temperature and turn it off really inside a 30m window of your target, or bad things start to happen.
One night I turned the tub on to have it ready by post-dinner, but in the process of cooking, I realized I needed groceries. I shopped, one thing led to another, I came home, cooked dinner, and by the time I remembered the hot tub, it was already at a rare-steak-sous-vide 120°F. That's way beyond health hazard - scum had started to congeal on the surface and in the chlorine ball and in the intake filter on the pump. Still not sure what that was, but I know it was gross.
In similar fashion, I left on vacation, giving the roomie the low down on how to fly the tub in my absence. Predictably, he made the same mistake, but two drinks in on a Saturday decided that 110°F didn't seem too unreasonable. After a couple minutes of uncomfortable soaking, he very suddenly ran out of the tub and into the bathroom to vomit.
So yeah, it control better than human-actuated bang-bang.
But before getting there, I actually put together a quick project simply to add telemetry, so I could gather those numbers I mentioned before and so I could SEE when I'd left it on to melt itself to slag.
That and just to see the water temperature more accurately than the 1-degree increments the built-in display shows.
Here's the code:
The sensor actually sends data to an Adafruit.IO dashboard at https://io.adafruit.com/alexwhittemore/dashboards/hot-tub, though it hasn't been in use for quite a while now.
This was remarkably easy to set up:
- Create a new "Feed" for the water temp
- Create a new "Feed" for the air temp
- Set the feed names appropriately on lines 10 and 11 of the arduino sketch.
All in all, I just followed Adafruit's tutorial linked on that repo's readme to a T, but replacing "humidity" with a second temperature channel.
In the end, you get pretty graphs over time without any additional work, like this one you'll see in the next update:
Adafruit.IO is pretty cool!