Preventing automatic turn on of a fan under special circumstances

I have a ESPHome device connected to a humidity sensor that I use to detect when I forget to turn on the fan in the bathroom when I have a shower. When the humidity rises by a given percentage, an automation turns on the fan. All this is working very well.

Another person in the house didn’t like the fan turning on when she was in there but not in the shower (‘to noisy’) so I added some conditions based on the way she uses the lights in the bathroom that differed from how I did. Again this all works very well.

The other person is now complaining that the fan does NOT turn on when she forgets to turn it on before having a shower!

A possible solution is to create something (?an automation?) that will stop the fan from turning on automatically if it has done so but has been turned off manually within (say) 1 minute. This would detect the situation where the fan turned on when the other person was NOT in the shower and they turned it off manually, but still allow it to run when they were in the shower.

My questions:

  1. is there a simpler way to achieve my goal (other than simply remembering to turn the fan on ourselves!!)?
  2. how would I go about achieving my solution (or a better one)?

Susan

Perhaps a vibration or temperature sensor on the shower head would give you a reliable indication of someone taking a shower. It certainly would simplify your current accumulation of conditions.

Sounds like the automation to turn on and/or the sensor needs some work.

I have my sensor in the fan which is right above the shower. I first starter with complicated automation that looked at temperature rise and humidity rise. I didn’t like the response, since it lagged too much.

I ended up simplifying it. Now it is if the relative humidity is above 70%, the shower is started, turn on the fan. It leaves the fan on till the humidity drops to 50% or has been stable (within a deadband) for 30min.

This works well. There is also an Echo/Alexa in the room that can turn the fan on.

I added more sensors in the room (that are farther away from the shower) their signal (that the shower is on) is not as clear.


Here is an example of two showers with a small gap between them.

I have combined this with the “hot tap water on” and “waterflow above certain level”. But very rarely also this can happen when someone uses hot tap water in the kitchen.

Sadly I only measure the water going to the house as a whole which can be conflicted with other activity in the house. But thanks for the idea.

Thanks for the suggestion but (for various ‘house political’ reasons) the sensor needs to be where it is.

I actually use a ‘percentage rise’ of the humidity because of various weather conditions throughout the year here - I really don’t want to keep changing the thresholds and the percentage rise has worked well for a couple fo years now.

Me too, but water usage is water usage…

I compare the difference between the shower room and the adjacent room, fan switches on when RH is greater than 5% higher and switches off at 3% difference. Works well and doesn’t need recalibrating with the seasons. I use cheap Sonoff Zigbee sensors.

There is always the choice of a quiet fan. I hate noisy exhaust fans and 20+ years ago this problem was solved. Panasonic makes many lines of very quiet fans. They even make some that are automatically controlled by humility.

https://www.panasonic.com/au/hvac/products/ventilation/ventilating-fan/ceiling-mounted-type/ceiling-mount-vf-dc-series.html

Looks like they don’t import the automatic ones to Australia. These fans are even quieter and more energy efficient than the ones I have.

OK - to get back to my question (as can’t go changing the fan etc.) I was thinking of the following:

  • create something like a ‘global variable’ (I have some background in programming)
  • create a new automation that triggers on the manual turning off of the fan (I have an answer to a previous question that lets me tell the difference between an automatic and manual action)
  • the automation sets the ‘global variable’ to “true”
  • the automation also sets the global variable back to “false” after a set period of time
  • I add a condition to my current automation that will fail if the ‘global’ variable’ is “true”

Given that, my next question is what is the most appropriate “global variable” that I need to create?

My question is why are you persisting with complicated work-arounds when the addition of one low cost sensor would negate all of that?

Because, as I’ve said, I’m not in a position to add more sensors

Sorry, I still don’t see that in any of your replies. Or the difficulty. But if it’s not what you want to do then fair enough, I’ll butt out.

Do you have an example of such a sensor?

This is where helpers come in. You’d want either an input boolean or input select (for more than 2 states). What do you want this global state to contain?

Shelly makes a waterproof BLE button. Stick one in the shower.

Saying this somewhat in jest, but related to the above: I sure hope it’s not a “radiation”-related issue, because if so, you might be better off moving out and simplifying your requirements that way. :wink:

This is not an example…

Here

Thats easy! You could also have said “rent a person to press the button”.

If you advise this sensor for this topic you should also give a proper example.

As I would really not know how to properly and safely install such a sensor on a shower head!

Sorry, but this is really not tom_i-worthy…