Automating Bathroom Exhaust Fans for Shower Humidity Spikes
If your bathroom fan is still wired to a basic humidity sensor with a fixed trigger point, it’s probably doing the wrong job the moment summer humidity climbs. The real fix isn’t a smarter threshold number. It’s teaching the fan to notice rapid humidity spikes from showers instead of reacting to slow, seasonal ambient moisture. And honestly, it’s a lot easier to set up than most people assume.
Why Fixed Humidity Thresholds Fail in Summer
A standard humidity-triggered switch (think the common 50-80% RH models you can grab off Amazon) works by comparing the current reading against one fixed number. That’s fine in theory. In practice, it falls apart once summer humidity climbs. In a muggy climate, your bathroom might already be sitting at 65-70% RH before anyone has even stepped near the shower. Two failure modes show up right away:
- False triggers: The fan kicks on just because the house itself is naturally humid that day, chewing through energy and drying out air that didn’t need drying.
- Missed triggers: Raise the threshold to fix that, and now a real shower spike (easily 90%+ RH) either doesn’t clear in time, or the sensor only notices after moisture has already soaked into the grout and settled on the walls.
Here’s the thing: what actually signals “someone’s showering” isn’t the humidity level itself. It’s the rate of change. A typical shower shoves relative humidity up 15 to 25 percentage points in about 3 to 5 minutes. That sudden jump is a far more dependable tell than any static number could ever be.
The Rate-of-Change Approach
Forget “turn on fan if RH > 70%.” A much smarter rule looks like this:
“Turn on fan if RH increases by X% within Y minutes, no matter where it started.”
This logic holds up whether your baseline is 40% on a dry winter morning or 65% on a sticky July evening, because you’re measuring the spike, not the level.
How to Set This Up
1. Use a smart humidity sensor with frequent polling Something like the Aqara Temperature & Humidity Sensor, a SwitchBot Meter, or a Govee sensor will report readings every 1 to 10 minutes, and all three play nicely with Home Assistant, SmartThings, or Apple Home through a third-party bridge.
2. Build a delta-based automation (Home Assistant example)
Home Assistant’s statistics or derivative sensor tracks humidity change over a rolling window, which is exactly what you need here:
sensor:
- platform: statistics name: “Bathroom Humidity Trend” entity_id: sensor.bathroom_humidity state_characteristic: change sampling_size: 5 max_age: minutes: 5
From there, trigger the fan relay (a Shelly 1 or Sonoff smart switch works well) once that change value crosses somewhere around 10 to 15 percentage points inside the window.
3. Add a reasonable run-on timer Once the fan kicks on, let it run for another 20 to 30 minutes after the spike is detected so it actually finishes clearing residual moisture, then shut it off automatically. Don’t let it run forever on a whim.
4. Set a minimum floor humidity to avoid noise Ignore anything under a 5% change. Otherwise you’ll get the fan flicking on because someone opened the bathroom door, or because the sensor hiccuped for a reading cycle.
Benefits of Spike Detection Over Ambient Triggers
- Lower energy use: The fan runs only when there’s an actual reason, not on autopilot through every humid afternoon.
- Faster mold prevention: Catching the spike early means the fan is already working by the time steam starts forming, not twenty minutes after the surfaces are already damp.
- Works year-round: No fiddling with thresholds every season. The system just adapts to whatever baseline it’s reading.
- Quieter home: Fewer false triggers means fewer nights of listening to a fan grind away for no reason during a muggy evening.
Common Pitfalls to Avoid
- Sensor placement: Keep it out of direct shower spray but still inside the room. Mount it too close to a vent or the door and your readings get noisy and unreliable.
- Polling too slow: A sensor that reports every 15 to 30 minutes will completely miss the spike window. You want 1 to 5 minute intervals, nothing slower.
- No run-on buffer: Cut the fan the second humidity starts dropping and you’ll leave damp pockets behind fixtures and in corners that never quite dry out.
Conclusion
Ambient thresholds are fine for a whole-house dehumidifier, that’s a different job. But a bathroom exhaust fan needs to respond to the sharp, fast spike that only a shower produces, not the general mugginess of the day. Switch to a rate-of-change automation (a responsive sensor, a short rolling window, a smart relay) and you end up with a fan that turns on exactly when it’s needed and stays quiet the rest of the time, regardless of how thick the summer air gets outside.