This is an automated archive made by the Lemmit Bot.
The original was posted on /r/homeassistant by /u/kyrsjo on 2025-12-29 17:24:42+00:00.
My whole-house heat-recovery ventilation system has a "manual boost mode", which kicks up the airflow for a set amount of time (I use 10 minutes). I want to trigger this when someone is showering, to control the humidity in the bathroom.
Most bathroom ventilators I've seen use a setpoint of a fixed value of RH. However, looking at the baseline RH inside through the year, I see that it varies between 30% (peak heating season) to 60% (humid summer). Thus, using a fixed setpoint would not work great, since an appropriate setpoint for winter might be lower than the summer baseline.
However, looking at the RH graph, I found it to very "spikey" - whenever someone showers, bathroom RH grows very fast, easily by 50% within less than a minute. So I setup a helper derivative sensor, which gets the d/dt of the bathroom RH humidity sensor reading. Plotting that for a while, it was very clear that it shows a neat spike at just the right time.
Taking the time derivative of using a derivative helper sensor provided a very very nice signal which is usually ca 0, but shoots up when someone showers.
Using this to trigger on "When $ddt_sensor is above 5 for 1 second" has so far been absolutely perfect, responding within ~10 seconds when turning on the shower, but never triggering when not needed.
The equipment used is an Aqara Temperature and Humidty T1 sensor connected via Zigbee2MQTT, and an Enervent ventilation system using the Enervent EDA Modbus Bridge.
(I tried to include images but got an error "All media assets must be owned by the submitter of this post")