🚿 Bathroom Humidity Exhaust Fan

But the blueprint isn’t turning the fan on for a toilet visit unless you are using a manual switch which you haven’t stated. If you are using a manual switch then there is no need to have another automation turn the fan off. Just use the manual switch to turn on and then the blueprint time delay or safeguard to turn it off.

You could decouple the fan. Have the blueprint and the humidity automation be inputs to another automation(or template, or whatever you like) that basically ‘or’ s the 2 pieces of information and actually controls fan on / off.

Sorry, I’m a little confused. The reason why I made the additional automation was:

If someone goes to the toilet, they’ll be turning the fan on manually. So I wanted it to be switched off after certain amount of time.

That same automation conflicts with this blueprint. When the blueprint turns the fan on, the additional automation will switch it off after certain amount of time.

That’s why I out that condition in there

Look at a few posts further up Blacky listed steps about creating a manual switch sensor for the fan.

Allowing users to turn the fan on with a manual switch and then allow the automation to turn the fan off regardless of humidity after X time.

@Scoff

Manual trigger can be anything with an ON OFF state or a binary sensor.

Blacky :smiley:

@RKor

There are a few ways to do this. All denpends what you are after. You dont need to create an automation but you can if you like. I do have another blueprint for the toilet and it is designed to work with this blueprint. Below are some options for you.

Option 1 - Manual Fan Switch

You can manually turn the fan ON and OFF but still allow for the automation to take control. First we need to look at your switch. If your switch is independent and not connected to control the fan then you can just add that switch into the “Manual Fan Switch”. If you switch controls the fan then you need to create a trigger-based template binary sensor and then use that trigger-based template binary sensor in the “Manual Fan Switch”. To do this I have a step by step guide in the FAQ click Here. You can also take advantage of the ‘Manual Fan Switch Auto OFF - Time Delay’ by selecting option 2 and setting your time delay. Then when you turn it ON it will automatically turn OFF in your set time delay :wink:

Option 2 - :toilet: Toilet Exhaust Fan with time delay blueprint.

The Toilet Exhaust Blueprint will allow you to turn the fan ON and OFF automatically. It links with this blueprint giving bathroom humidity BP priority. The Toilet Exhaust BP has a lot of features. Assuming your toilet is in the bathroom you will need to consider what will be the trigger for the toilet exhaust BP. You could use a distance sensor so when you are sitting on the seat it knows you are there or what ever works for you. I then have a FAQ step by step guide on how to link the 2 blueprints, click here.

It is really up to you on what you would like to do but ether way you don’t have to create any automations if you don’t want to just use my BP.

Hope this helps you.

Blacky :smiley:

1 Like

Definitely helps, thanks very much for your work and taking the time to explain it all in detail. Much appreciated

@RKor

No problem, glad it has helped you.

Blacky :smiley:

Somehow it does not work for me. I checked this morning for the room (which is no bathroom but the laundry room) and while I did set this to 60 in the blueprint the humidity in HA did show 76 and no fan was running. Or am I missing something else here? I thought when defining the maximum humidity anything else is irrelevant unless the level is below the defined max? :thinking:

@kurisutian

Yes, in order for it to work you must have a " Humidity Derivative Sensor". If you are just looking to turn a fan ON and OFF to humidity in your laundry then have a look at my :thermometer: Temperature Control Exhaust Fan blueprint. It says temp but it will work with humidity, just replace the temp with your humidity values.

Blacky :smiley:

I did create the helper but I am currently not sure if I understand it what it is supposed to do. Just wanted to use this to keep the laundry room dry and figured it can act with the sensor but once the humidity is above 65% (better 60%) I should always run. Below anything will do the trick to keep it as low as possible. So I created the helper and it works once humidity rises quick but once it does slowly rise it goes above the max and nothing happens…

@kurisutian

It is realy designed to work for a shower. If you are just wanting to turn the fan ON above X% and then OFF below X% you are better to use my :thermometer: Temperature Control Exhaust Fan blueprint. You just put your humidity sensor in as the trigger, enter in your fan and then set your rising and falling humidity % you would like.

For this blueprint it has a lot of logic under the hood that not what you are after. The max humidity in this blueprint will only turn it ON not OFF. If you would like to know more about this blueprint have a look at the FAQ. The first 2 FAQ’s guides you through all the settings.

If you are still unsure and you need more help on this blueprint or the other blueprint (other blueprint post questions under its post) then could you please provide us your YAML of the automation? This YAML code are the settings you have selected in the automation so I can help. To do this go into your automation, top right 3 dots, Edit in YAML, copy all the code, come back to the forum and in your reply at the top tool bar click on “</>” and paste code in there.

Blacky :smiley:

Maybe I’m just stuck in my head. For me the blueprint although used in the bathroom, should do the trick for the laundry room as well, since when running the washing machine or especially the dryer usually let humidity rise quite quick. After that the laundry will be put to air dry in the room where humidity will rise but just not as fast as with the dryer. So after all the dryer to me would be equally to the shower and air drying should trigger because of the low (60%) max humidity. So this is kinda stuck in my head.

Anyways here is the yaml definition I have:

alias: Hauswirtschaftsraum
description: ""
use_blueprint:
  path: Blackshome/bathroom-humidity-exhaust-fan.yaml
  input:
    trigger: sensor.hwr_humidity
    fan_switch:
      device_id: d33a119fe34ae4712a4519f88af04b94
    bathroom_humidity_sensor: sensor.luftung_hwr_humidity
    rising_humidity: 2
    falling_humidity: -2.5
    time_out: 45
    include_max_humidity: maximum_humidity_enabled
    max_humidity: 60
    time_delay: 15
    winter_rising_humidity: 1.5
    winter_max_humidity: 80

Thanks a lot for your kind support I really appreciate it a lot!

@kurisutian

That is all good if you would like to use this blueprint. Just remember that when the automation is triggered by the “Maximum Humidity” it will only turn the fan ON so it will wait for the “Falling Humidity Derivative” or the “Safeguard - Maximum Run Time” to start the time delay thus turning the fan OFF. There are some things you can do but first lets check and confirm the following.

  1. Your ‘sensor.hwr_humidity’ is your Derivative sensor.
  2. Your ‘sensor.luftung_hwr_humidity’ is your humidity sensor.
  3. With your fan switch can you expand it down to an entity for your fan not a device.

Test it again… it may be using a device and not an entity in the “Fan Switch”. I always prefer to use the exact entity.

Let us know if this works?

Here is a bit of a trick

If you prefer to use only the humidity values from your sensor and not a derivative sensor, follow these steps:

  1. Place your humidity sensor in the “Trigger - Humidity Derivative Sensor” input instead of the “Bathroom Humidity Sensor” input.
  2. Do not use the “Maximum Humidity Option.”

The automation will then work directly with your humidity sensor values, using your specified humidity rise and fall percentages. For example:

  • Set the “Rising Humidity Derivative” to 60.
  • Set the “Falling Humidity Derivative” to a value below 60, such as 50.

The automation will activate when the humidity rises above 60 and will start the time delay when it falls below 50 :wink:

Hope this helps you.

Blacky :smiley:

I can confirm that the devices are as you described. The fan is just a cheep on off wall fan which I connected to a shelly device with an addon to measure humidity. And a manual switch is attached to the shelly 1 as well so I can manually turn on and off. The idea was to have the max humidity level as my safeguard to not have the levels rise to slow when I air dry laundry. Perhaps it triggers it correctly but needs to run longer than the max runtime. What happens if the runtime is hit, the fan turns off and the humidity level is still above the max defined? Will it trigger again at the slightest change of the level or will it now wait for a higher rise like defined and ignored the max humidity level?
I wanted to prevent getting to the max level if it rises to fast and the 60% was the intention to always stay below no matter what. Ideally when rising fast at a lower level it stays below the 60 and all is good. I will look at the proposal and also at the other blueprint. Just checking which one does work better to achieve what I wanted to do. Thanks a bunch for you support and your time to help.

Thank you, I now have this setup and working, using my Aqara click button ‘single’ click action as the manual trigger, and using the auto-off time delay :slight_smile:

Do you think there is any possibility of including an ‘other devices’ section in a similar way to the existing ‘Lights’ section of the Blueprint? Just to explain, I currently have a separate automation which turns on and off my bathroom mirror demister, based on whether the extractor fan is running or not. This has been working great. Now that I am using the click button as my manual trigger for the humidity automation, the demister is turning on when the fan turns on, but I would like to break the link between the extractor fan and demister, so that the demister ONLY comes on if the humidity automation is triggered by the derivative sensor, and not when manually triggered by my button (for fumes/deodorant etc so no need for demist function).

There may be an easy way to solve this that I just haven’t thought of, but I thought I would ask if there was a possibility of including the option to turn on a separate switch entity when the automation runs, and then turn it off again when the automation turns off the fan entity?

Okay no problem, did you get it working? I may be getting lost in what is happening.

Blacky :smiley:

I just re-configured following your proposal. Gotta wait for the next load of laundry though :sweat_smile:

@Scoff

Yes I have thought about this but I didn’t consider what you have explained as I too thought it would be better to have a separate automation to handle it. I can see the manual trigger with how you set it up being a problem :thinking: thanks for sharing.

I will add this to the list, but I have many thoughts on how it should be handled, so it may take some time. I might even consider an alternative approach. The ‘Automation Link’ won’t turn on with the manual switch but will activate with the trigger.

If you enter a toggle helper into the ‘Automation Link’ and use that as the trigger in your other automation to turn on your mirror demister, that might just work for you. :thinking:

Let us know how you go.

Blacky :smiley:

Thanks Blacky, I’ll take a look at that and give it a try.

After looking at my current setup, before attempting that, I have noticed an issue with trying to use the manual trigger. The auto-off time doesn’t seem to work in my case, as I set it to 5 minutes just for testing, and the fan is still running 20 minutes later. I think I can see why though. My Aqara button is just a momentary button, rather than a switch that has an ON/OFF state. I created an input boolean for it, which has a state of on or off - toggled by a single click of the button.

So when clicking the button, and turning the input boolean to ON, the extractor fan starts, as the automation has been manually triggered. However, after 5 minutes, all that happens is my input boolean is triggered from the current ON state to OFF - I assume by the Blueprint? The fan continues to run though and is unaffected. Is that the correct behaviour for the manual trigger - the Blueprint toggles the input boolean state back to OFF? If so, I assume it should also turn the fan off at that point as well? Here is my config:

alias: Bathroom Humidity Exhaust Fan
description: ''
use_blueprint:
  path: Blackshome/bathroom-humidity-exhaust-fan.yaml
  input:
    trigger: sensor.bathroom_humidity
    fan_switch:
      entity_id: switch.extractor_fan_switch
    bathroom_humidity_sensor: sensor.ble_bath_d8df_humidity
    time_out: 60
    include_max_humidity: maximum_humidity_enabled
    max_humidity: 85
    include_lights: lights_disabled
    rising_humidity: 2
    time_delay: 12
    include_manual_trigger: enable_manual_trigger_time_delay
    manual_trigger:
      - switch.zigbee_button_switch
    manual_trigger_default_time_delay: 5
    manual_trigger_winter_time_delay: 5

The automation was triggered at 15:24:22 when I clicked the Aqara button:

image

but it is still running 10 minutes later. All that happened was after 5 minutes, my input boolean controlled by the click button was turned off - I assume by the automation, as I didn’t click it
on
off

Or perhaps I should be using the ‘Manual Fan Switch’ option, rather than the Manual Trigger option?

1 Like