I would like to turn on mood lighting automatically when I’m taking a shower, what’s the best way to detect that?
- I’ve considered humidity sensors, but that will take a while to kick in and not immediately when the shower starts.
- I’ve also considered a water leak sensor but those are not meant to be trigger every day for a long time like 10-15 minutes. That would kill the battery, right?
- Smart valves can kind of work, but it feels like overkill because I don’t care about the valve functionality.
I would prefer the solution to be battery powered (don’t want to be messing with too many cables around a shower), but I can’t seem to find one.


I’m using just humidity and its working great. I put the sensor away from my sink so it isn’t triggered by washing my hands.
This will only consider you showering if humidity goes 9% above the 1hr average humidity:
You need a ‘Statistics’ Helper, call it “Average Bathroom Humidity” and base it on whatever humidity sensor you have. Make it “average linear” then set Max Age to 1 hour. (leave other options default)
Make this Template Binary Sensor called “Showering”:
{{ (states('sensor.bathroom_sensor_humidity')|float - states('sensor.average_bathroom_humidity')|float) > 9 }}