IoT Hottub Temperature Controlled Power Switch
Shopping list
- Buy a TH16.
- Buy a temperature sensor that fits TH16 and your needs. I use the Sonoff DS18B20 waterproof temperature sensor.
- Buy a 3.3 volt USB to seriel adaptor
Documentation & inspiration pages
- I found a lot of inspiration in the pages https://www.redelijkheid.com/blog/2017/12/31/flashing-the-sonoff-th16-wireless-switch and https://tinkerman.cat/post/sonoff-th10-th16-sensors-displays-actuators
- Be aware of dokumentation for ESPeasy
- I flashed my TH16 Ver. 2.1 dated 2019-08-26 with the file
ESP_Easy_mega_20211105_normal_ESP8285_1M.bin
. - https://espeasy.readthedocs.io/en/latest/Reference/URLs.html?highlight=csv is usefull for pulling data from the hacked TH16
Configuration after flashing
You need to do a bit of configureing after your TH16 have been succesfullly flashed. I reccomend keeping the TH16 connected to you computer using the 3.3 volt USB to seriel adaptor untill you are certain it works as you intend. I reccomend this of two reasons.
- There is no need to connect it to the mains power before you actually want to use it. This way you are much safer from getting electrical shocks ;-)
- You can use PuttY to monitor the activities that your TH16 is performing including errors... and errors will most probably happen unless you are lucky like nobody else.
First boot configuration
NOTE: TH16 can only connect to 2.4Ghz WiFi
Reboot the TH16 after the flasing. Keep an eye on the Putty console. If nothing shows up you need to make sure PuttY is configured to listen on the correct COM port using the correct serial port settings.
After reboot is done the TH16 will start to spit out repeating lines.
Now fetch your smartphone or another wireless enabled device and connect to the open WiFi that the TH16 is broadcasting. Is will be named something like ESP_Easy_0 and you will need to enter configesp as WiFi password. If you are not presented with a webpage automagically - look at Putty to figure out what IP address the TH16 have given it self... 192.168.4.1 could be it but you never know if it gets changed in the future.
Enter the IP in your browser and configure the TH16 to connect to your WiFi. BE AWARE that if you screw this up and enter wrong data/credentials you MIGHT need to re-flash to get the first-boot WiFi and webpage to launch again ;-)
Rule Set 1
on sensorTemp#temperature do // Store current sensor temperature in a dummy variable TaskValueSet,varTemp,Dummy,[sensorTemp#temperature] // If temperature is above 37 OR the toggleSwitch state is 1 // then set dummy Switch1 state to 1 if [varTemp#lastValue]>=37 or [toggleSwitch#state]=1 TaskValueSet,Switch1,state,1 else TaskValueSet,Switch1,state,0 endif // Set the relay and red LED state to the same state as dummy Switch1 state gpio,12,0[Switch1#state] endon