A humidifier configured to determine when the humidifier requires
cleaning. The humidifier includes a tank for containing water, a heater
for heating the water in the tank to generate steam, and one or more
water level sensors for detecting the level of water in the tank,
including detecting water at first level and a second level, where the
first level is lower than the second level. The humidifier further
includes a drain valve for draining water from the tank and a controller.
The controller is configured to open the drain valve to drain water from
the tank, measure a time interval required for the water to drain from
the second level to the first level, and compare the time interval
against a threshold value. If the time interval exceeds the threshold
value, then the controller is configured to provide an indication to
clean the humidifier. Methods are also disclosed.