🚿 Bathroom Humidity Exhaust Fan

Hey Blacky, or anyone else,

i am having trouble detecting the Fan-Off moment. The start detection works flawless as the %/min shoots up like a rocket, but as soon as the humidity reaches 100%, the helper calculates a derivative off of course. Then the slightest drop under 100% will cause the automation to trigger the time-out of the standard 20minutes. I tried to improve the sensitivity of the “falling humidity” all the way to -0.2%, but as you can see it still triggers way to early. I already tried to average the helper over 5minutes, hoping to make it less sensitive to the fall from 100%. I could adjust the time-out to much longer, but this is kind of the point of this automation. Any tips?

Hi @Markiempje525

all good :+1:

To me it looks like it is going off on the default “Safe Guard - Maximum Run Time” of 20 min. This is not a trigger just a time delay of when the fan turns on. The “Falling Humidity” trigger is around 11:45 and the fan is already off. The falling humidity trigger is a negative value.

The “Falling Humidity” trigger happened around 11:45. You can see the humidity is falling as well. Reset back to 3 minutes on the helper and set your falling humidity back to -1.

In your fan I can see “afziging light” is this a fan, or a light, or a fan and a light.

Can you confirm the fan is coming on?

If the fan is on, it looks like it not removing the steam. Can you confirm the steam is being removed.

If the steam is being removed then looks like the sensor is not reacting to the steam fast enough or something is happening with your humidity sensor. Maybe the humidity sensor is getting filled up with steam and it has to dry out. Check the position of the humidity sensor, maybe relocate it.

If the steam is not being removed is the fan big enough to do the job?

Check that as a start and let us know how you go.

Thx for the great response!

ill reset some values, maybe if i increase the time-out, it would wait for the falling humidity trigger.
You are right that the sensor quickly ‘fills’ with 100% humidity. The thing is that we have 2 showerheads and shower together, creating alot of extra humid air. If one person showers alone the humidity does barely touch the 100%. At this point the humidity of the bathroom has shown a 5x faster drying time compared to no mechanical ventilation. It might be too weak for 2 showerheads.
Yes, “afzuiging light” is a Sonoff relays that switches the fan on/off. It is turning on thanks to your automation.
I could also place it a little lower in the room, further away from the ceiling, maybe that could help too. Anyway, thanks for the responce again!

No problem. Remember if you need more time than 60min in the “Safe Guard - Maximum Run Time” just type the value in and click save.

For 1 shower head your fan needs to move around 120 to 150 litres per second of air volume.

Hope this helps.

PS: Happy to help if you need more assistance.

Blacky :smiley:

1 Like

Hi @pdawg17

I just had it again, lost the time window. I recorded my steps this time and I got the time window back.

  1. Updated to 2023.03.1. Lost the time window again.
  2. Add a derivative without the time window. then deleted it. Nothing happened.
  3. Restarted HA. Still nothing.
  4. Reboot system - HA. Time window shown again after reboot.

Just thought I would share this, as it may help. Maybe just follow these steps and see what happens.

Blacky :smiley:

1 Like

FWIW I noticed this awhile ago. Thought it was just me, but apparently a widespread bug. Derivative sensors — no more average over time option?

1 Like

I had the same problem creating a derivative - the adding/deleting/restarting didn’t work for me but it’s easy enough to add by editing the configuration.yaml file. For other noobs like me, just use the file editor to add something similar to the following, check the configuration for errors, then restart.

sensor:
  - platform: derivative
    source: sensor.shower_sensor_humidity
    name: Shower Sensor Humidity Derivative
    round: 2
    unit_time: min
    time_window: "00:02:00"
1 Like

Hi @lk229 thanks for sharing you tip and your code I am sure it will help others. :+1:

If you have time could and you still can’t see your time window, could you try 2 things.

1/ Reboot your HA, not restart but a reboot and check options. If you are on the latest HA then it will be “settings/system/top right power button/advance options/ then reboot system”.

if that doesn’t work can your try

2/ Add a derivative sensor without the time window using helper. Then reboot your HA and check all options.

It will help HA resolve the glitch as this will be a hard one to find and maybe with all our help we can help HA.

Thanks

Blacky :smiley: :+1:

Hi @Blacky -

My time window is now showing when creating a new derivative. Unfortunately, this means I can’t help debug in case anyone else is having this problem.

If it means anything, I did update to 2023.3.4 in between the problem appearing and now. Also, you made me realize that I hadn’t rebooted my RP4, only restarted HA.

Lee

@lk229

Hi Lee, glad you got it working now. I have also done some testing and have found if you reboot your HA is will show up again. I have given my 2 cents worth to HA in this bug report (Click Here). Maybe they will take a look at it :crossed_fingers:.

I have create a FAQ for it.

Sometimes if a family member manually switches off the fan, it comes back on a few minutes later. Wife doesn’t like that after a pre-sleep shower…is there a way to have it not turn back on if manually switched off? Or better to just set a time window to have the automation run/not run?

It’s working great here, many thanks Blacky
Rg Frank

@knarfver

Hi Frank, Firstly welcome to the community :+1:

Thanks for the feedback :hearts: nice to just get a positive one… your welcome :wink:

Blacky :smiley:

I just implemented this BluePrint - looks good and I like it. However I was wondering if you have a tip for this scenario:

I also want the manual switch for the fan to work and turn it off after 15 minutes or so when the button is pressed.

Whilst this is straight forward I am wondering what happens if I have this automation how it interacts with the humidity blueprint.

If the humidity blueprint starts the fan would the other timed automation also kick in and turn off the fan regardless?

How could I solve this?

Please note that it appears to me the bypass option cannot be used as this would be the same entity as the fan being used in they humidity automation.

I hope that makes sense.

@Smartdrive78

Hi Markus. With this automation the trigger is the derivative sensor. You dont want the fan to be a trigger. If you have a switch that turns the fan ON then the fan will be the trigger and that is not good. I would look at having a independent switch and make that the trigger so when you turn it ON it turns the fan ON with a time delay.

I am assuming you have a toilet in the bathroom. If so maybe consider my Toilet Exhaust Fan with time delay blueprint and once you have a independent switch (maybe have a push button would be good, on / off in one push) use that as the trigger in the Toilet Exhaust Fan blueprint.

Hope this helps.

Hi @Blacky

Thanks for that. Having a seperate button is nothing I would like to do. The spouse will freak out.

I think the best way forward here is to have a boolean variable which sets to true when your Automation fires. I can then have a condition check on my Automation for the button saying when it is turned on, check if it was turned on by the Automation (with the boolean variable) and if so, do not run the 15 minute delay and cancel the Automation.

And if your automation ran and finished, set back the boolean to false.

I am not sure if I can implement this myself using your Blueprint. Thoughts?

Hi @Smartdrive78

Agree, :thinking: maybe consider just using your existing switch, disconnect the switch from the fan and install a Shelly Plus i4. Then when you turn that switch on (Shelly Plus i4) the fan comes on.

https://www.shelly.cloud/en/products/shop/splusi4x1

Thoughts?

I modified the blueprint to set an input_boolean before turning the fan on/off.

My other blueprint is just:

  • when the light switch is on for 10 minutes
  • condition: input_boolean is false
  • turn off fan

Am I crazy, or is the Entities card not what was used in the example above? Here is what it looks for me, or am I totally missing something too?

Figured it out. It should be a History Graph Card, not an Entity Card.