During winter, when it is necessary to heat our houses, humidity in rooms drastically drops below recommended value. To solve this problem it is recommended to install humidifier that can bring back humidity to the proper level.
Optimal value of humidity in rooms should be in 40% - 60% range. From my experience, exceeding higher boundary is very uncommon (except special cases like bathroom), however very often when outside temperature drops below 0°C, interior humidity quickly reaches values below 40%.
What are the main risks of having too low humidity?
The easiest way to prevent too low humidity is to use a humidifier that evaporates water from integrated tank to the air.
There are many options available on the market with very wide range of prices. In most cases, user pay not for better humidification but for fancy design or ability to control by a smartphone. In fact, the only important parameters that should be taken into consideration are: how stream is generated, efficiency and capacity of the water tank.
People are lazy in their nature (so am I), that’s why I was looking for a device that I can buy, fill with water and forget, without need to measure humidity by myself and turning humidifier on and off manually. There are many devices with integrated humidity sensor where you can set desired humidity level, however: a) measuring humidity near humidifier does not look like an accurate method, b) price rise is inadequate to the cost of simple sensor.
In my house I already have temperature and humidity sensors that over ZigBee submit measurements to the Home Assistant instance. Decision was simple - buy simplest humidifier with big water tank and use ESP8266 to allow turning it on and off from Home Assistant. Then, with simple automation, control it depending on readings from the ZigBee sensor. To make this rework simplest humidifier should use mechanical switch to turn it on and off, so it can be replaced by a transistor.
All in all I decided to buy Elechomes ES5001 that has 5L water tank and 300ml/h maximum evaporation efficiency. It has a knob that rotates potentiometer with switch combo to control on/off and evaporation level.
As I mentioned before I decided to use the cheapest and the simplest method to connect humidifier to Home Assistant - ESP8266. Firmware is build using ESPHome, so even programming skills are not required.
First prototype was just a proof of concept, so I do not pay much attention to aesthetics. As expected, knob in front of the humidifier has integrated switch and potentiometer, it provides two signals to the control board: on/off that has two states (low and high) and evaporation level that is an analog output from the potentiometer. I do not need to control evaporation level remotely, so this signal I left untouched, but I cut the wire of on/off signal and instead solder a MOSFET which gate was connected to one of the pin in ESP8266 module. I also added LDO and DC/DC converter because humidifier has 24V power supply.
ESPHome configuration file is very simple:
Prototype works like a charm. Humidifier’s power supply has enough power margin to handle ESP8266 consumption, MOSFET simulates on/off switch and ESPHome without any problems integrates with my Home Assistant instance. With a few click I have added an automation to turn humidifier on when humidification drops below 45% and off when reaches 50%. Here is a chart from humidity sensor where it is clearly visible how humidifier works:
I decided to design a PCB that has all required components. A small module that is powered from up to 24V, has few IOs and can be controlled from Home Assistant is quite universal and maybe used for some project in the future.
PCB project has been created in KiCad, all files are available in my repository. It is very straightforward: power section with DC/DC (cheap Chinese one - Mini 360) and LDO, ESP8266 module itself and few signals exposed on standard 2.54 mm headers.
After assembly everything works as expected, so I put it into humidifier replacing existing prototype version.
Shortly after modifying first humidifier I bought another one and reworked it in the same way. Having humidity sensor on the other side of the room makes humidification process more stable, because sensor measures air not directly near the humidifier where it changes rapidly after turning on the device.
There is one downside that I do not expect. I thought that having 5L water tank allows me to reduce maintenance to just putting water into it from time to time. However, hygiene is also important and at the end I have to, at least twice a week, clean the humidifier. Still, it is not a big deal comparing to turning it on and off manually each day that I don’t have to do now.