Best way to turn on fan with Humidity

The problem with humidity is that it varies, by day by hour.
I set up my extractor fans years ago
I realised pretty soon there was no level you could set that should be the “on” since humidity is so variable
The way I did it was by using a reference sensor outside the rooms with the fans. If sensor 1 is X% higher than sensor 2 then turn on the fan

Overall this has been working well, but there are two main issues

  1. It requires two devices
  2. If one device dies or drops from the ZigBee network then my fans don’t work

#2 is currently causing me an issue. Dunno why, that’s a separate issue I’ll look into and not topic for this discussion

But it strikes me there should be a reliable way to do this with a single device?
Fans with humidity sensors built in only have one sensor - how do these work (maybe they’re just dumb and run at stupid times, never had one) but I’d like to eliminate the cross device need here

Has anyone found a reliable way to do this with a single sensor?

Set up a derivative sensor for the humidity. It will be positive when the humidity rises, negative when it drops. The higher the value the faster the change. Pick a nice value that detects the rapid rise as the trigger:

But as a general rule of thumb: more information, more reliable. Less information, less reliable. If you do not know the humidity of the air the ventilator pulls in, then you do not know if humidity is going to change in the right or the wrong direction. But at least the derivative will tell you what direction you are going with what you are doing.

Well, your “issues” aren’t exactly issues… if you want something to be automatic then a bunch of devices is a must. And all things can die. So, in the case of regular zigbee dropouts i’d check on zigbee mesh (add routers, reposition them…)
Personally i have a bunch of xiaomi mijia BLE thermo/hygro sensors (over 10) around my house and noone so far dropped offline in a years. I have 3 BTproxy esphome devices around my house so all of them have good signal and that’s it.
I’d say that over years i learned that “reliable” pretty much always means expensive, not el-cheapo aliexpress stuff… (although i do have a bunch of aliexpress things, most of them work pretty decently).

I have a few words for you.
Hysteresis.
Granularity.
Perception.
Averaging.
Rate of change.
Climate Control.
Perfection vs Good Enough.
Integration (mathematical, not HomeAssistant type, actually both)

Nice. Sounds like what I’m looking for.
This is a backup anyway, I’ll be working out why the sensor has dropped after 3+ years without issues first, but the goal here is that if it drops again, I don’t want no fan

1 Like

Are you measuring the correct item?

Is comfort your goal, or is this some industrial scene where it actually affects chemical reactions, drying, etc?

Comfort can vary by temperature too - the two interact.

Ask why temperatures are measured to the tenth of a degree, and humidity quite loosely to only a few percent? If it was so important, all the sensors would be calibrated more finely. The vendors supply what the customers demand.

Are you measuring the correct item?

Yes. It’s a bathroom extractor fan, the goal is when it’s humid due to the shower or bath being on, extract the damp air

Most of these answers miss the key points in my post - what I have has been working successfully for me, i intend to fix that, that wasn’t the question, but what I asked is what is the “best” way of achieving this with a single sensor (either as a replacement or a backup)

I think that’s already been answered by the first response (thank you @Edwin_D !)

Ah, the missing word ‘bathroom’. You could have just said when you have a bath or shower.

What level is acceptable humidity for you? Are your fans speed controlled?