Archives

All posts for the month January, 2019

ABSTRACT

My dehumidifier uses an external tank (5 gallons) so that we can keep it running as needed to keep the basement humidity within the range of 30-50%.  In this configuration, there is no “auto off” and the tank will overflow if not emptied.  The goal is to keep the humidifier running steady so no humidity builds up and this greatly mitigates mold risk and keep the basement (and our stored belongings) from smelling musty.   Also, I just hate having to check the tank daily or worse, forgetting and finding a puddle on the floor.  Here’s a look at how well controlled the humidity is: (click for larger view)

SOLUTION

Using the ESP8266, and Tasmota firmware, I created a custom water sensor that would talk to my automation hub for just a few dollars:

Once wired up, I flashed the ESP8266 module with Tasmota and setup the module to read the voltage returned by the sensor on the Analog pin (A0).  This is not enabled by default and requires you to enable it at compile time before you flash the ESP8266.  Once done, a rule was added to tell the firmware to send the raw value (between 0 and 1024) of pin A0:

on tele-analog#a0 do publish domoticz/in {“idx”:421,”nvalue”:0,”svalue”:”%value%”} endon

Analog pin A0 is not selectable as a data acquisition source within the GUI framework of Tasmota (at the time of this writing), but the Tasmota project has added some incredible rules functionality to the firmware which lets you configure all sorts of things and really extend the capability of Tasmota. You can see the main page of the Tasmota firmware here:

Here is the Tasmota Console, where you can see the data being reported over my MQTT broker which transports the data to my automation computer:

 

That being said, the “idx” value in the rule is the Domoticz object address on the dashboard which will receive the data I want.  When data arrives on the console, it looks something like this:

Any value over 200 will trigger a notification on my mobile.  I could also setup a pump that would drain the tank for me (maybe that’ll be a part 2 to this project) so I don’t have to manually empty it.   Oh well, I’m halfway there, at least I don’t have to check the tank every day anymore.  With this solution, I will get plenty of advance warning to empty the tank and avoid overflow and a wet mess on the basement floor.  Here is the final setup:

 

Now when the tank fills, a notification is sent to my mobile: