🚿 Bathroom Humidity Exhaust Fan

I would suggests you start at +1 & -1. The best way to find your settings is to add your fan, humidity sensor and your derivative sensor into a dashboard. You will then be able to monitor your site. When you have a shower have a look at what happened and look at the first real increase to see what % that is. Below is a example and this is just normal humidity changes through the day in a 2 hour window.

below is a actual shower. The idea is to have the lowest % possible that will not give you a false trigger. Sensor position should also be considered (close to the steam).

I have a different blueprint for this called 'toilet exhaust fan with time delay"

Is this with this blueprint? as I haven’t had any false triggers to date. I have had false triggers when I tried different blueprints turning ON at night.

Thanks for the tips, I have done that now. I just started with your blueprint yesterday, so I am trying to avoid false triggers while getting it to work :wink: Previously, I had used the Generic Hygrostat integration and it was very unreliable.
Here is the graph from today showing the peaks for the shower around 9:00am, but there are also peaks of +1% and -1.5% so I think I will start at 2% and take it from there.

Screenshot 2023-01-01 171549

Yep that’s the way to do it :+1:

Success! The fan turned on just over a minute after the shower started, and it triggered the off delay about two minutes after it stopped.

1 Like

All good :smiley: :+1:

The Settings - FAQ

First you must set up a “Humidity Derivative Sensor”. On how to do this Click Here

Humidity Derivative Sensor

This is the sensor that will be used as the trigger.

Fan Switch

This is the fan you would like to turn ON. Lights can also be added. It is normal used when you have a niche in the shower that has a LED’s strip lighting and you would like to turn them ON when showering and OFF when finished automaticity.

Input - Fan Speed - Low Speed Switch

If you have a fan with different speeds you will have an option to stage your fan before turning it OFF. This is where you would enter in your low speed entity. This will be used in your selection for summer and winter modes.

Input - Fan Speed - Switch Off

If you have a fan with different speeds this allow you to enter in your OFF entity. This will be used in your selection for summer and winter modes.

Input - Bathroom Humidity Sensor (Optional)

Select your bathroom humidity sensor. Your bathroom humidity sensor is the actual humidity sensor located in your bathroom. This will be the reference sensor if you have chosen to use “The Maximum Humidity Option” below. It applies to default and winter mode settings.

Rising Humidity & Falling Humidity Settings

Once you have your “Humidity Derivative Sensor” set up in HA the best way to find your settings is to add your exhaust fan, humidity sensor and your humidity derivative sensor into a dashboard. To do this, go into a “Dashboard” then top right 3 dots click “Edit dashboard”, then click “+ ADD CARD”, click on “History Graph” in the entity field add your exhaust fan, humidity sensor and your humidity derivative sensor entities, then show “2” hours (you can change this any time), click save & “DONE”. You will now see something like this.

The above image shows humidity changes throughout the day in a 2 hour window. You can see the “Humidity Derivative Sensor” + & - values of around + 0.75 & - 0.48. Yours can be higher as it all depends on your site and the location of your sensor.

The below image is what happens when we have a shower. The image shows 2 showers data. You can see the first shower goes to + 10.0 then when finished around - 7.0. The next shower goes to + 14.0 then when finished around - 7.5. If you move your mouse over your graph in HA a pop up window will show more accurate figures.

Because we can see what is happening, we can now adjust our setting. Looking at the Rising Humidity Derivative %. The first shower jump is just below + 5.0 and the ending is just above -5.0. The second shower first jump is around + 7.0 and the ending is just above -5.0. Note: These reading are with a working exhaust fan so you may need to set + 1.0 & - 1.0 first then adjust and readjust your settings to get it right.

I have my sensor at the highest point right next to the fan inlet so my reading are high. Your reading could be lower but the working principle is the same.

I have monitored my site for some time now and I know my readings during the day never go above + 2.3 & - 1.5. Having the sensor up high next to the fan always has a similar results when showering as the above graph. It is good to keep your setting a low as possible as it will react faster but at the same time we don’t want to have false trigger turning ON the fan all the time, especially at night. I have set my “Rising Humidity %” in summer (hot climate) set to + 3.2 and my “Falling Humidity %” set to - 3.1. Then in winter (cold climate) I have set my “Rising Humidity %” set to + 3.1 and my “Falling Humidity %” set to - 2.1.

Your setting will depend on your site, where you live and your climate but being able to monitor your settings will help you work it out.

If you get false trigger turning ON the fan consider raising your “Rising Humidity %” or “Maximum Humidity” if using this option as this is what turns your fan ON. You can look at your traces line to see if it was the “Rising Humidity %” or the “Maximum Humidity” that triggered it ON, then you will know what setting to adjust. The “Falling Humidity %” or the “Maximum Run Time Setting” is what triggers the automation to start the “Time Delay”. Then just monitor what happens and adjust as necessary.

Time Delay

This is important. It really depends on the fan you have, location of your humidity sensor, etc. It is a good idea to monitor it so the fan brings down the humidity before turning it OFF. See the above image how the humidity returns to around the starting value after a shower. Then just monitor what happens and adjust as necessary. Try starting with 10 min and adjust as necessary. I have my “Time Delay” set to 3.5 min in summer (hot climate) and 8.0 min in winter (cold climate).

Safe Guard - Maximum Run Time Setting

Think of the longest shower anyone will have and add some time. It is really a safe guard and should never really be needed if your settings are correct. I have set mine to 17 min for summer (hot climate) and winter (cold climate).

Use The Maximum Humidity Option (Optional)

Sometimes after a shower the humidity can take longer to fall back to its normal level. This can cause a lower rising % when having another shower before the humidity has time to return to its normal level, thus not triggering the automation. Enabling this option will allow the fan to be turned ON when the humidity rises above the set value. I have enabled this option as when the bathroom is realy busy having back to back showers it work realy well. Remember my sensor is directly on the fan inlet above the shower. I have set mine to 96.5% for summer (hot climate) and winter (cold climate). I am yet to go through a summer with this setting as it is a new feature developed during winter so I may not use it in summer. I will update this later.

  • NOTE - You must input your “Bathroom Humidity Sensor” in “Input - Bathroom Humidity Sensor” for this option to work. Your bathroom humidity sensor is the actual humidity sensor located in your bathroom.

Maximum Humidity

This is where you set your maximum humidity %. When using this option, it is recommended to set this value as high as possible to stop false triggers. If you would like a lower % value and the slider will not allow it then just type the number value you would like in, and click save.

Use The Winter Mode Option (Optional)

This is where you can add another set of settings for the winter months (colder months). The settings are the same as above but you will need to select the months you would like to apply the winter mode settings to. I have enabled this option.

Humidity Derivative Sensor By-pass

This will allow you to By-pass the humidity derivative sensor and make your fan function as normal. The entity cannot be included in the “Fan Switch” and or “Fan Speed - Off Switch Option” selection. Please see our FAQ on how to set this up without having a physical switch.

Use The Fan Speed Options

This is if you have a fan with multiple speeds. You can choose the options you would like to use.

Fan Speed - Low Speed Time Delay

This is an additional time delay to run the fan on low speed before turning the fan OFF. You must select the option to use low speed fan in “The Fan Speed Options” and you must enter in your low fan speed in the “Input - Fan Speed - Low Speed Switch” for this to work.

Safe Guard - Use The HA Restart Option

If Home Assistant restarts for any reason, and the fan is ON, the fan will stay ON until the trigger is triggered again and the automation runs. In this scenario the fan could stay ON for a very long time. Enabling this option will allow you to turn the fan OFF in a set time delay, providing a safe guard option. I decided if someone just started in the shower and the fan was ON. If I restarted Home Assistant (HA) for any reason at that time, then for us the normal maximum fan time when someone had a shower was around 10 min, so I have set my “HA Restart Time Delay” to 10 min. Then no one would know anything happened, it would look like a normal shower took place if I restart HA.


Blacky :smiley:

Back to FAQ: Click Here

1 Like

Hello I’m trying to use your blueprint, so far seems the most well thought that I have found for humidity control. I plan to use it in a technical room where I have some electronic equipment (router, switches, etc) but which is also prone to increased level of humidity. I have purchased an Aqara temperature humidity sensor and an Aqara smart plug, I also already have a dehumidifier. So basically what I am trying o do is whenever humidity is rising above a certain procent the dehumidifier to start automatically, it’s on auto and plugged into the Aqara plug. I have created the derivative humidity sensor with the helper and also make the Aqara plug look like a fan switch but in the blueprint settings it says at the fan section that no matching device is found, I have attached the part of the blueprint with the troubling settings.

@ionutm80 Firstly welcome to the community :smiley:

This issue is a bug in the latest release of HA. If you go back to your backup then it will be resolved until HA fixes it but you will loose what you have done from your update to now.

Another way if you are keen then you can try this.

Find out your “entity ID” you would like to use. Go to, Settings / Devices & Services, click on top tab “Entities”. Find it there.

Open the blueprint, click on 3 dots top right, and “edit in YAML”. You should see something like this.

alias: Bathroom Humidity Exhaust Fan
description: ""
  path: Blackshome/bathroom-humidity-exhaust-fan.yaml

For “Fan Switch *” enter “input” and change your entity_id to your sensor.

alias: Bathroom Humidity Exhaust Fan
description: ""
  path: Blackshome/bathroom-humidity-exhaust-fan.yaml
        - switch.your_sensor_here

This is how my one looks like once everything is filled in.

alias: Bathroom Humidity Exhaust Fan
description: ""
  path: Blackshome/bathroom-humidity-exhaust-fan.yaml
    trigger: sensor.bathroom_humidity_derivative
      entity_id: switch.bathroom_exhaust_fan
    falling_humidity: -2
    rising_humidity: 2
    time_out: 25
    include_bypass: bypass_disabled
    time_delay: 3

Now click 3 dots top right and select “Edit in visual editor”

Hopefully you see your fan now :crossed_fingers:

Fill out the rest.

Not sure if it will work because I don’t know what HA did but be assured the blueprint works.

1 Like

Hi again, it worked, I could add my fan switch, now I have to fine tune the automation based on your guidance above. Thanks a lot for this blueprint and for the help provided!

Love it. If you have any other questions just ask. Your use case is interesting.

1 Like

Hi again,

I have set the derivative sensor with a time window of 3 minutes as per your FAQ above. Initially I have set the autommation based on your blueprint to -0.5 & 0.5 so it did not triggered when the first event that I was looking for happened: my wife put some clothes to dry in the technical room to take advantage of the heat inside at exactly 9.31 PM, I have attached 2 graphs with the evolution of the 2 sensors.

What would be the best settings for me to trigger specifically when these type of events occur? The derrivative jumps immediately at 9.31 PM but then drops also abruptly at 9.53 PM while the humidity remains high and above the 25% threshold that I would like to see constant within the technical room. Please help me, I’m a bit lost.
Thanks in advance and kind regards.

Hi, I have attached below the evolution up to this morning of the 2 senzors, derivative and actual humidity, as can be seen the derivative is decreasing very abruptly because it has a 3 minute moving average while the actual humidity is decreasing over a longer time period.The small period in which the dehumidifier worked is because I trigerred it manually to see whether the switch is working.

By the way the graphs are before updating this morning to 2023.1.2, after that the derivative senzors do not show anymore like line graphs but instead like history bar.

@ionutm80 I will PM you.

In regards to @ionutm80 set up. We have created an new blueprint called Temperature Control Exhaust Fan.

Hi Blacky, nice blueprint! I want to use this blue print for my Itho box. Therefore I do not want to use a fan switch, because my fan is still running on status ‘low’ (percentage of the full speed of the fan) . The status is created with a ‘preset mode’ entity with status ‘low’ and ‘high’. So, now I want to use the instead of the fan switch a status of the entity. Is that possible?

@skipper79 Can you show me your entity ID. I going to update the blueprint with a extra option probably tomorrow. Maybe I will include this in the update. If not I can show you how to do it.

Also what state does the entity have? example ON / OFF

@Blacky, thank you for all these awesome blueprints! I’m trying to make the switch from SmartThings webCoRE since it just got shutdown. Unfortunately, my bathroom setup requires some combination of your Toilet Exhaust Fan and Bathroom Humidity Exhaust Fan blueprints and I was wondering if you could recommend the best course of action.

In my bathroom, the same fan handles toilet exhaust and humid exhaust. Sometimes, I’m just using the toilet and want the fan to be turned on manually via the in-wall smart switch and turn off after some set amount of time (say 15 min). At other times, I’m using the shower and want the fan to turn on automatically when the humidity rises and turn off when it drops. If turned on manually before the humidity rise, I want it to stay on until the humidity drops. Do you think any of your blueprints can support this scenario? If not, do you recommend I try to tweak one of them and if so which one?

Sure. The enitiy is of the type fan with the following attributes:

preset_modes: []
percentage: 100
percentage_step: 1
preset_mode: null
temp: 17.8
hum: 73.8
ppmw: 9416
Speed status: 23
Internal fault: 0
Frost cycle: 0
Filter dirty: 0
friendly_name: Itho fan
supported_features: 1

And with the following script I define the presets:

To create a 3 button interface (scripts.yml)

#-----Mechanical ventilation presets
  alias: MV preset low
  icon: mdi:fan-speed-1
    - service: fan.set_percentage
        entity_id: fan.itho_fan
        percentage: 33

  alias: MV preset medium
  icon: mdi:fan-speed-2
    - service: fan.set_percentage
        entity_id: fan.itho_fan
        percentage: 50

  alias: MV preset high
  icon: mdi:fan-speed-3
    - service: fan.set_percentage
        entity_id: fan.itho_fan
        percentage: 100

So, with this I defined a button, for ‘High’, on my lovelace as follows:

  - entity: fan.itho_fan
      action: call-service
      service: script.mv_preset_high
    icon: mdi:fan-speed-3

Try using two blueprints “Timer Relay - Run ON Timer and Bathroom Humidity Exhaust Fan” and select the same fan. Putting it all into one blueprint can be tricky. Both of the blueprints are mine and its why I have a few.

Us this blueprint Timer Relay - Run ON Timer

Use this blueprint Bathroom Humidity Exhaust Fan

Hope this helps you

Blacky :grinning:

1 Like