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 }}Not sure if you have access to the pipes leading to the shower, but the droplet does what you’re looking to do.
I bet you can rig up something microphone-based, there’s tons of software nowadays for analyzing audio, and you don’t need to run the analyzing software on the device with the microphone anyway. Though the analyzing would likely take a little bit longer that you’d want it to.
Microphone is certainly an interesting choice I hadn’t thought of before at all. It’s something I can test easily, I’ll have to see how well it plays with music too. I’ll give it a shot
Without trying something similar yet, here are some ideas:
- motion sensor on top of your shower
- trying to detect the vibration of the water flow
- a simple switch that you hit before you get into the shower
Also think of other times you “use” the shower, like cleaning it. Some methods will also be triggered then.
Also think of other times you “use” the shower, like cleaning it. Some methods will also be triggered then.
Yep. Sometimes these automations with all exceptions get so complicated that it’s easier to just put a small button somewhere.
Good ideas, let’s see
motion sensor on top of your shower
That’ll detect my shower area motion not when shower in on. When I am cleaning the shower or sitting in a bathtub I don’t want mood lighting or other automations to be triggered.
trying to detect the vibration of the water flow
Vibration sensor can work but it’s a ceiling shower so I’ll have to see if I have enough space. This is the closest to a viable solution given my situation.
a simple switch that you hit before you get into the shower
Yeah that’s a fallback option, but I try to automate my home whenever I can and not perform manual tasks. I know my groggy morning self is forgetting to even hit this simple switch.
I would put a temperature sensor on the line feeding to your shower to trigger on a temperature rise, but it all depends whether it’s accessible somewhere. Setting your trigger to something like 33 degrees would mean it only triggers on warm showers, cold showers you’re on your own.
@batshit I use a derivative of a humidity sensor, it works well enough and is really simple to set up.
Would it detect as soon as I start the shower or will it have a minute lag? Like I said, I want the automation to kick in as soon as I start.
I’m also using a humidity sensor in my custom bathroom setup. It really detects the start of a shower quite fast. 10s to 30s I’d say, depending on the humidity before starting the shower.
But also I have a very small window-less bathroom, so you mileage may vary.
@batshit I don’t have any automation based on that, just a card in my dashboard, so I didn’t check how long it takes. But it’s not instantaneous, for sure.
Would a battery powered smart switch be an option?
Hit the switch and let HA do a command series.
That’s a fallback option, but I try to automate my home whenever I can and not perform manual tasks. I know my groggy morning self is forgetting to even hit this simple switch.
You could use a classic dead man switch: Place several buttons around the whole place - basically everywhere except in the shower. Once you stop pressing any of these buttons for - let’s say - 30 seconds you can assume you’re taking a shower.
what if you go outside
Place some outside too
This is a fun question.
I have to assume the absolute ideal would be some sort of water flow detection right in line with the shower head. Likely hard wired. But like I said, that’s an ideal.
I think the other suggestions in the thread are reasonable. The microphone one seems most appealing to me since that could theoretically just occupy an outlet anywhere in the room.
A waterflow sensor makes the most sense to me too, but it doesn’t have to be inside the pipes. A microphone glued to a pipe should be able to detect the vibrations due to waterflow and hardly anything else.
Perhaps combine with a motion sensor to see if the lights should be on at all. Then the microphone only switches between modes.
Oh, good point. Water flow can be loud when you are right up on the pipe. You could also keep it from picking up other noise with insulation. And the detection might not have to be that fancy then. Just amplitude.
You could also use the drain pipe if the actual water pipe is harder to reach. It would even work against false positives (I can clearly hear the washing machine letting in water through my water pipes)…
@batshit Don’t you notice getting wet? ;)
Seriously though, couldn’t you use a water leak sensor for this? Just make sure if it has a speaker to disconnect that, unless you like a loud beeping found when you shower.
@batshit so ein Quatsch
If you have a shower door: use a door/window sensor (on the outside). Trigger the mood light if the door was open for only a couple of seconds.
Still more complicated than hitting a switch, tho, IMHO.
Sadly, can’t do that because it will trigger when I’m cleaning the shower or just soaking in the bathtub
Then get creative with the sensor data. Look at the time it’s open when you shower compared to when you’re cleaning.
Or add a door sensor to the cleaning cabinet.
You can get a lot more out of a sensor than a boolean on/off, if you’re willing to analyse the data a bit. (Who needs a smart washing machine, if they can analyse the power usage?)
Or add an override button for when you don’t want the moodlight. Make the most common usage the default and use manual intervention when it’s not the usual occasion.
EDIT:
You’ll want to be able to easily override anything like that, anyways. When there’s some kind of reason to respond quickly (some emergency for example). You don’t want to be stuck with mood light, when you accidently slip and get injured (when you’re also naked and wet).
I experimented with a humidity sensor in the shower and was surprised how quickly it spiked. It’s how I woud do it. Other option would be a leak sensor in the basin but getting it to turn off at the right time would be very hard. You have a lot more control over this with a humidity sensor.
I’m using zwave for everything like this and wouldn’t be at all concerned about battery for either scenario. Both would last years, much like my door and window sensors do.
Made a flowchart for you:
< Do you feel wet? > | +-- yes --> < are you indoors? > | | | +-- yes --> < are you wearing pants? > | | | | | +-- yes --> [ you peed yourself ] | | | | | +-- no --> [ you're taking a shower ] | | | +-- no --> [ it's raining ] | +-- no --> [ you are not taking a shower ]I would use something like this to measure water usage in combination with an presence sensor in the shower stall. Water flowing + someone present in shower stall = someone taking a shower.
I would just go with special button, the most straightforward simple solution you have direct control over. Also sometimes you might need to use the shower without mood lights and then system based on humidity or water flow will just be annoyance.
If you use some tools when showering, like brush or spung, you can make a contact sensor into the hook/holder (more work, probably need a custom 3D print), but should also work and you don’t need to press anything







