Beating the Cold Room Syndrome with Zigbee
One of the feelings I hate the most around winter time is the striking temperature difference between my shower and the outside world.
Whenever I'm done washing up, I dread the moment when I'll have to get outside of the bathroom and into my bedroom - which is often very cold, especially in comparison.
Sure, there’s an obvious fix: turn on the bedroom AC before I shower.
But here’s the thing—I never remember to do that. Not before stepping in, anyway. I only ever remember the second I step out, which, as you can imagine, is a little too late.
Finally, after one too many of these experiences, I decided enough was enough. It was time to automate my way out of misery.
Honey, are you in the shower?
The solution to this pain point is pretty easy - I just need to figure out when I shower, and trigger the bedroom AC. I already own a Sensibo, so the only hard part is the shower detection.
This is kind of a fickle problem, because I would not want to have any sort of optical solution - no cameras in the bathroom, thank you very much.
Another option I briefly considered using a motion sensor, but that would trigger every time someone walked into the bathroom—not just when someone was showering. A timed schedule was also a bad option - it's too rigid.
I wanted something smarter; something that knows I’m showering without creeping on me. Luckily for me, I had the perfect device for this use case laying around.
Tracking showers using Zigbee Humidity sensor
I originally bought the SONOFF's Humidity and Temperature Sensor (SNZB-02D) to try and help with fan control (our bathroom has an humidity problem...), but ditched it when I figured out that the fan should just be always on.
But now, I finally found a usage for it - I can use it to try and detect sharp changes in the humidity of the bathroom to detect when one of us is in the shower.
After setting up the sensor and pairing it with Home Assistant (via ZHA), we can take a look at the humidity history:
It's not hard to see that there are obvious upticks in the graph, and these indeed map directly to our recent showers. Looking over the last month of data, the pattern was very clear—whenever someone showered, the humidity spiked past 85%.
It was a clean, repeatable cutoff, which meant that the solution was very easy - all I need is to set my automation to trigger when it crossed that threshold.
I should note that I've played around with derived sensors to try and see if we can optimize this flow (I assumed that by measuring the rate of change we might be able to detect a shower faster, thus giving us more time to heat up the room). However, these did very little to help, which is why I decided to stick with the simple solution.
What I did do was to set this automation with a bunch of extra conditions to help ensure that this is not triggered randomly if the humidity is too high - I ensured that the timeframe makes sense, that there's someone home, etc.
So, how does the final automation looks like?
alias: Turn on Bathroom AC when someone showers
description: ""
triggers:
- trigger: numeric_state
entity_id:
- sensor.bathroom_temperature_sensor_humidity
above: 85
conditions:
- condition: time
after: "17:00:00"
before: "10:00:00"
- condition: state
entity_id: binary_sensor.someone_is_home
state: "on"
- condition: numeric_state
entity_id: climate.bedroom
attribute: current_temperature
below: 20
actions:
- action: sensibo.full_state
metadata: {}
data:
mode: heat
target_temperature: 24
fan_mode: strong
target:
device_id: [ID]
- action: sensibo.enable_timer
metadata: {}
data:
minutes: 10
target:
device_id: [ID]
mode: single
Conclusion
As always, a little automation goes a long way.
I no longer have to remember to turn on the heater before I shower—Home Assistant does it for me.
No more shivering, no more rushed dives under the blanket, just a warm, comfortable room waiting for me when I step out.
To be honest, these kind of projects are my favorites. It’s not about the flashy, over-the-top automations—it’s about solving tiny annoyances that make life just a little better.
And, as a bonus, it finally gave me a use for that humidity sensor I impulse-bought months ago.