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.

all 64 comments

sorted by: hot top controversial new old
[–] 64 points 7 months ago* (1 child)

Multiple waterproof 4k cameras pointed at the inside of your shower from every angle and image recognition by some AI that detects when a naked person enters.

Don't forget to use Wifi and no firewall

  • source
  • hideshow 1 child comment
  • [–] 30 points 7 months ago (3 children)

    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.

  • source
  • hideshow 3 child comments
  • [–] 13 points 7 months ago (1 child)

    If you have a shower cubicle, could you put a door open sensor on it, and assume you're showering if the door is closed? I think it's normal to leave the doir open when not in use. It would probably also work if you had a shower curtain, so long as you always pulled it all the way closed in use.

  • source
  • hideshow 1 child comment
  • [–] 44 points 7 months ago (1 child)

    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 ]  
    
    
  • source
  • hideshow 1 child comment
  • [–] 11 points 7 months ago*

    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

  • source
  • [–] 9 points 7 months ago*

    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.

  • source
  • [–] 7 points 7 months ago

    Are u nekkid, but warm, and wet? You're in the shower.

  • source
  • [–] 5 points 7 months ago

    Couple ideas, depending on what you have:

    • When the warm water pipe heats up
    • when the water heater starts drawing more power
    • when the water meter detects warm water usage in the evening
    • when the sound volume goes up in the bathroom
    • when the weight sensors go off under the shower (or around it as you get in)
    • when a movement sensor detects movement in the shower
    • when a magnetic door sensor sees the shower curtains open
    • when you press a (waterproof) button in the shower
    • when a weight sensor under the shampoo holder detects less weight
  • source
  • [–] 5 points 7 months ago (2 children)

    How about a simple on off toggle inside your shower handle? Stupid simple and works anytime the waters turned on.

  • source
  • hideshow 2 child comments
  • [+] 5 points 7 months ago (1 child)
  • [–] 4 points 7 months ago* (1 child)

    I use a humidity sensor, motion sensor and a helper that shows the change over a period of time. If the humidity raises fast (+2%/5m) and goes over a certain amount (unique, depending on your room's climate) the bathroom automation changes tracks to hold the light at 100%, turn the extractor fan on, and well, how you stop the automation depends on you. I let it stay on for 15 minutes before waiting for motion. Small tips: For me the humidity triggers the automation within 15s-1m of showering, which is okay for me. Motion sensors typically use IR to see movement. If the room is too steamy it might struggle to see you. Also, it cannot penetrate glass. It must have a line of sight to you.

    The best alt I think would be mmwave presence sensors, but they're pricy and require a wired connection.

  • source
  • hideshow 1 child comment
  • [–] 4 points 7 months ago* (3 children)

    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.

  • source
  • hideshow 3 child comments
  • [–] 4 points 7 months ago (2 children)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 7 months ago

    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.

  • source
  • parent
  • [–] 2 points 7 months ago

    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)…

  • source
  • parent
  • [–] 4 points 7 months ago

    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.

  • source
  • [–] 4 points 7 months ago

    Flowmeter on the shower head or down in the supply lines to the tub/shower?

  • source
  • [–] 3 points 7 months ago* (last edited 7 months ago)

    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 }}

  • source
  • [–] 3 points 7 months ago (3 children)

    @batshit I use a derivative of a humidity sensor, it works well enough and is really simple to set up.

  • source
  • hideshow 3 child comments
  • [–] [S] 1 point 7 months ago (2 children)

    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.

  • source
  • parent
  • hideshow 2 child comments
  • 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.

  • source
  • parent
  • [–] 2 points 7 months ago (1 child)

    Would a battery powered smart switch be an option?

    Hit the switch and let HA do a command series.

  • source
  • hideshow 1 child comment
  • [–] 2 points 7 months ago

    @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.

  • source
  • [–] 2 points 7 months ago (1 child)

    Your individual shower habits might be predictable enough to if than your way to it with existing sensors.

    If you track current draw on your boiler / water heater that would indicate a draw on hot water during time when you typically shower. You can add other checks for it to pass if you find too many false positives.

    If you’re as glued to your phone as every one else alive atm a simple rfid / wireless charger or something you set your phone on when you strip for the shower triggering the event will likely be the most straight forward approach unless you bring your phone in the shower lol I’m occasionally guilty if the podcast is good enough 😅

  • source
  • hideshow 1 child comment
  • [–] 2 points 7 months ago

    Crossposted from showerthoughts

  • source
  • [–] 2 points 7 months ago

    Vibration sensor that detects when water starts flowing through the shower head

  • source
  • [–] 2 points 7 months ago (1 child)

    Not sure if you have access to the pipes leading to the shower, but the droplet does what you're looking to do.

    https://hydrificwater.com/

  • source
  • hideshow 1 child comment
  • [–] 2 points 7 months ago (1 child)

    Any reason a flow sensor wouldn't work?

  • source
  • hideshow 1 child comment
  • [–] 2 points 7 months ago (2 children)

    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.

  • source
  • hideshow 2 child comments
  • [–] [S] 1 point 7 months ago (1 child)

    Sadly, can't do that because it will trigger when I'm cleaning the shower or just soaking in the bathtub

  • source
  • parent
  • hideshow 1 child comment
  • [–] 2 points 7 months ago* (last edited 7 months ago)

    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).

  • source
  • parent
  • [–] 2 points 6 months ago

    The right way is some sort of inline water flow sensor, so it'll trigger within seconds of you turning on the shower to warm it up. With an esp32 and a sensor, and some clever use of the sleep function, it'd probably last a year or so on a couple of AA's.

    Low effort and price tech is probably better in a wet environment though! If you just want the mood lighting, get a wireless button and stick it somewhere near. Tap it on, tap it off!

    If you want to feel that automatic magic, consider a cheap battery powered temperature sensor. If you fix the chassis to the shower head pipe it'd probably be accurate enough. Also, assuming you need to wait for your shower to heat up, you'd have a pretty good idea when your shower was hot too - when it triggers your automation for the lights!

    Just make sure the sensor polls often enough or can be made to report on a significant temperature difference in a timely fashion. Something like this might do it: https://sonoff.tech/products/sonoff-zigbee-temperature-and-humidity-sensor-snzb-02p

    Also avoid WiFi for buttons, connection and addressing takes ages and sicks for an instant response needed for something like lighting changes

  • source
  • [–] 1 point 7 months ago* (5 children)

    If it's an electric shower, you can do what a salamander pump does and add some detection wires on the shower box's on-switch. I appreciate you don't want wires around the shower but it's a fully direct "is the shower on" detector and the wires are technically in the shower rather than around it.

  • source
  • hideshow 5 child comments
  • [–] 4 points 7 months ago (3 children)
  • [–] 1 point 7 months ago

    Motion sensor or light switch.

    There are so many variables at play here.

  • source
  • I'd settle for the small lag with a humidity sensor. If you're the type to run the shower for a minute before getting in, it should kick in in that time.

    Could do a presence sensor or motion sensor pointed at the shower. Haven't played with either, and you'd have to figure out water resistance.

  • source
  • [–] 1 point 7 months ago

    I would go for a simple humidity sensor. You just need to do a bit of data collection first to get a baseline of "what taking a shower usually looks like" and then based on that create the automation.

    The only problem with that is that depending on how accurate you want it to be, you may have to wait a while to take a few measurements until it triggers the automation.

    For something like mood lights I would just use a ZigBee switch if I'm being honest though.

  • source
  • [–] 1 point 7 months ago (1 child)

    OK, assuming your switch is also smart

    Option 1: long-press/double function turns on both light and fan, that triggers an "I am going to shower" 5 minute delay where a humidity sensor senses when it is over and keeps the fan on until humidity is stabilized with the rest of the house.

    Option 2: get a smart flow meter instead of a smart valve. Then you have useful statistics for shower water usage in addition to an instantaneous status. This has the side effect of the mood lighting turning on "late"

    Option 3: get one or make an esphome + LD2410S on battery or plugged in close by, nobody goes in the shower for more than like 10 seconds without showering

    Option 4: Time of Flight sensor outside of the shower pointing in to tell when the door/curtain is closed. If the ToF sensor is (for example) between 1.1m and 1.2m, the door/curtain is closed

  • source
  • hideshow 1 child comment
  • [–] [S] 1 point 7 months ago

    Thanks for the many suggestions

    Option 1: long-press/double function turns on both light and fan

    Main lights are automated (I also have a presence sensor in the bathroom). Fan is automated 5 minutes after a person leaves the bathroom after staying for more than 5 minutes. That said, I do have smart switches and I can add the long press functionality. But that's less automation, I will keep it as a fallback option if I can't find a true automated solution.

    Option 2: get a smart flow meter instead of a smart valve.

    I would love to get one, but all Zigbee ones are out of stock. If you have any recommendations, I'll be grateful

    Option 3:

    I have a presence sensor already, and I spend time near the shower area. Whether I'm cleaning or just soaking in the bathtub. So that can't work.

  • source
  • parent
  • [–] 1 point 7 months ago

    @batshit I have 2 humidity sensors: one inside the bathroom and one outside, to calculate the reference hum. point (to adjust triggering on rain or dry weather). I can adjust the speed of detecting by moving the hum sensor (cheap xiaomi ble) near the shower. It triggers in several seconds and turns on the exhaust fan.

  • source
  • [–] 1 point 7 months ago (2 children)

    sounds like you could use a clapper

  • source
  • hideshow 2 child comments
  • [–] 1 point 7 months ago

    Motion sensor positioned really close to the shower controls so it doesn't see anything but them/your hand moving.

    The bigger question might be how do you turn it off? I like the vibration sensor on the shower head

  • source
  • [–] -2 points 7 months ago

    @batshit so ein Quatsch

  • source