Showering in the dark

Since first starting to make an automated home, has anyone else found themselves having a shower in the dark before correcting the time-out logic in a bathroom lighting automation? :shower: :see_no_evil:

Feels almost like a smart-home right of passage :grinning_face_with_smiling_eyes:


Yes! I have finally fixed that by having a humidity sensor as well as a motion sensor, if humidity is high then don’t turn off the lights until it reduces.

1 Like

No but I have had the lights turn off while having a “sit and think” on the shitter.

I had plans to use a VL53L0X time of flight sensor for presence detection to correct this but in the end an increased time-out and a trigger from a PIR outside the room to turn the light off has worked well.

1 Like

Nope. I only automate bathroom fans, not lights. Problem solved.

Toilet - toggle lights on door open. That means it will turn the light on when you go in, and light off when you go out.

Shower - I plan to sort this with new Aqara P1 motion sensor when it’s available here. That one allows you to set the motion timeout down to 1s. So then when door is closed, I’ll set motion timeout to 1s, after 1 secs it will check whether there is motion or not. If there is motion, that means you closed the door from inside and you’re there, so light stays on and motion triggers are paused. If there was no motion after 1 sec, you closed it from outside, so lights go off. In any case, after this check, motion reporting timeout will be set back to normal ~30 secs

Never a problem… I always have Alexa holding my hand.


In the dark it might not be your hand … :no_mouth: :grinning_face_with_smiling_eyes:

Thanks all for replying … it’s interesting to see how others tackle the same scenario with different tools.

First time for me my Aqara sensor didn’t pick up motion in the shower, so it went off after no occupancy was detected (10 mins). It seems that the steam on the glass makes it too abstract to track any movement.

My fix was to set it so that, after occupancy is no longer detected, then the lights do a sharp drop to 70%, wait 2 mins then fade to 40%, wait 2mins and fade to 10% then 1 minute later they’re off.
Gives a good gentle early warning that we’re heading into the Abyss.
If home is in sleep mode (calendar event) then lights come on dim and only wait 1 min after no motion before fading out.

Yes and it served as a lesson in humility. Just when I was ready to pat myself on the back for cleverly handling all possible edge-cases, another one materialized. Back to the proverbial drawing board!

Ideally, a second motion sensor in the shower enclosure, or a strain-gauge sensor under the tub, would correctly identify when it was occupied (glass doors block the existing motion sensor’s view of the occupant). However, we settled on a simple manual override (auto-off is disabled for 20 minutes if someone manually changes the light’s brightness or turns on the exhaust fan).

As for detecting someone sitting (all too motionlessly) on the throne, the no-occupancy duration was increased to 3 minutes.

I only have a few lighting automations for this exact reason. Light use is too unpredictable to guess at for automations to be reliable.

Of the few that I do use in order to prevent a light getting turned off for no motion I use the Alexa Media Player actionable notifications to ask me if I want the lights to be turned off if there is no motion for a predefined time. Then if I say yes or don’t respond after a minute the lights go off. Otherwise if I say no then the timer gets reset and the lights stay on.

1 Like

This is what I did. Works great.

Problem solved avoided.

Potato, potatoe.

Just when I though it was safe to have a shower… It happened again :see_no_evil:

Most of my lights going off work off 2 triggers.
One trigger is active if we’re solo at home and the other if more than one person is here.
If alone then, when motion stops then it checks if there are other motion sensors triggered in which case the person must be out of the room and so the lights go off quickly.
It saves on illuminating an empty room for an extra 10-15 minutes.

I didn’t take into account my robo vacuum triggering an outside sensor while I had a shower :grinning_face_with_smiling_eyes:
Quickly enabled guest mode and carried on then added the vaccum as a “person” when it’s not on the docking station as a fix.

I have it mounted under my sink pointing across the open air of the toilet and then it hits a wall on the other end of the toilet. So thats about 670mm, as you can see in the active reading.

When someone sits on the toilet, the reading will drop because the signal is bouncing off of them.

I setup a flow in node red to say if the distance is less than X amount, consider someone in the bathroom. I then have my other flows, such as turning off the lights check against this state before turning off.

It also doubles as a histogram of how often we are sitting on the toilet, lol.

Just need the sensor, esphome integration and addon, the code, and a toilet.


  name: master-bathroom-toilet-sensor
  platform: ESP32
  board: esp32dev
    - tof_vl53l1x.h
    - "VL53L1X"

# Enable logging

# Enable Home Assistant API

  password: "0a403df9f63f237278c1030a7f42c5b5"

  ssid: "NetworkName"
  password: "NetworkPassword"

  # Enable fallback hotspot (captive portal) in case wifi connection fails
    ssid: "Master-Bathroom-Toilet-Sensor"
    password: "979P1TqQ2TDn"


  sda: 21
  scl: 22
  scan: True
  id: bus_a
- platform: custom
  lambda: |-
    auto my_sensor = new MyCustomSensor();
    return {my_sensor};
    name: "Distance"
    accuracy_decimals: 0
    unit_of_measurement: "mm"
1 Like

I use a door sensor. If the door is closed, its most likely occupied. Lights dont turn off when the door is closed.

I used a temperature sensor build i the toilet seat :innocent:

For the shower, I set a longer timeout if the bath humidity is more than 5% above the hall humidity, and lights won’t automatically turn off at all if the bath humidity is >15% above the hall.

I turn the fan on and increase light brightness at >5% as well. Works out pretty well for the mornings, lights are comfortable walking in and for non-shower activities, then by the time the water is hot the lights and fan come up about the time or shortly after stepping into the shower.

For the throne, vibration sensors on the tank factor into extending the timeout.

For the non-master baths I also factor the door being shut as a timeout extender, but the master bath door is rarely closed.

My base timeout on the lights may be longer than some at about 3 minutes of confirmed no activity, but I hate when lights bounce on and off. I’d rather have them on a little longer to begin with.