This is the forum archive of Homey. For more information about Homey, visit the Official Homey website.

The Homey Community has been moved to

This forum is now read-only for archive purposes.

The Bathroom Light Challenge

Some basic things are just difficult to fix...

I think most readers in this forum - as on other home automation fora - will know exactly what the title of this topic refers to. And, yes, you're right:

How to automate the bathroom lights _without_ the issue of "lights turning off, when things on the toilet take a bit longer than usual".

Of course, you can set the timing to "extremely long" - but that's no fun...

So, how have you done it?

Which combinations of devices and flows have you implemented to avoid forcing people to jump around on the toilet seat when the lights went off? Not using a timer setting of 90 minutes or something like that...

Searching the web, I found that the idea I got and thought was very original, wasn't exactly unheard off - but still not mainstream: The combination: force sensistive resistor + a binary sensor of some time + some modding of the toilet seat...

The challenge of course is hygiene and design - how to get it into a toiletseat, still working, hidden away and without too many wires etc... 

Until I've figured this out, I'm just interested in other setups - how have you solved it?


  • LOL, good question! I have the Same problem and So far no Solution. Let me know if there are easier ways 
  • canedjecanedje Member
    edited January 2018
    I do recognize the problem. I will follow this topic  :D  B)
    How is this solution connected to Homey? Z-wave or?

    Beside this solution, I have heard that there are sensors reacting on body temperature instead of movement (PIR).
  • cbhcbh Member
    My test setup is using a Fibaro Door/Window Sensor.
    Untouched the resistance is towards infinite, pressure will decrease it to around 0 - effectively making a short circuit - which trigger the contact if connected to "Gnd" and "In"...
  • canedje said:

    Beside this solution, I have heard that there are sensors reacting on body temperature instead of movement (PIR).
    Also heard that yes, can't remember where tho.
  • The same problem when someone is taking a shower or a bath :-)
  • Flight777 said:
    The same problem when someone is taking a shower or a bath :-)
    For that you can use waterdetector from NEO Coolcam?
  • JPeJPe Member
    Maybe using a switch that is detecting the Occupied-bold?
  • cbhcbh Member
    JPe said:
    Maybe using a switch that is detecting the Occupied-bold?
    Not locking the door when home alone ;-)
  • cbhcbh Member
    edited January 2018
    Status update...

    Wasn't satisfied with having to run some wire on the surface of the toilet seat, neither cutting a slit to hide the wire in and try to seal it afterwards seems easy.

    Gave Junior a kit from Circuitscribe for Christmas (that he didn't like) and I took the ball pen from the set and tried to make the circuit on the toilet seat using that:

    Although possible to "write" on the toilet seat, it seems like the ink doesn't "connect" and the circuit can't be made :-(

    Next idea:
    Got the idea that maybe coppertape could can be used and found some only six mm wide from Chibitronics as well as som conductive paint from Bare Conductive...

    Proof of concept:

    The two legs of the resistor are fastened only by running some tape over them, the two wires are fastened by dropping some paint over the wire while held on the face of the tape (and holding it still until the paint is dry, of course)...

    Pressing the resistor triggers the alarm in Homey right away...

    Next is to hide the resistor properly and get the circuit around on the toilet seat - and get it all hidden...

    To be continued...
  • @cbh once you finish this you should open a business producing and selling "Homey enabled toilet seats"

    I am watching your progress as I look for such solution. Just please don't post photos with the real test!!

    I have dry walls and ceilings in my house and I am thinking to have an ultrasonic sensor above (or beside) the toilet tuned to switch when there is a person on the toilet seat. Then wired into a Fibaro Universal Sensor. Problems I have is to first to find a cheap ultrasonic with white head to match the ceiling colour and second be able to switch to positive so I can use it withe the universal sensor. No contact solution, too.
  • cbhcbh Member
    edited January 2018
    And inspired by that, @danone, the project now include adding a sticker on top of the toilet seat:

    Works with Homey
    And yes, a standard IR-beam broken by somebody sitting the right place would do it - but for one it is not feasible in my case due to placement of the toilet in this case. Alternatively, a ultrasound probe could be an idea, but as you wrote, neither this is "just done"...
  • haha, @cbh nice idea with the sticker.
    Looking forward to hear from you with the final solution.
  • This topic drew my attention as soon as I opened the forum. I (just like many other apparently) are looking into this problem. All I have read are solutions based on electrical contacts by using the on the toilet seat. I haven't had the time yet to build a prototype but have you thought about the idea to just use a switch with a contact lever? Something similar to the image below (just more suitable for the bathroom and maybe a little smaller or with a longer lever)? I you use that at the back of the toilet seat (the toilet lid) it will make contact if the lid is down (or up depending on your setup) en when the state changes it could update the state in Homey. An other solution (involving the lid) would be to create to contact points on the lid (on your image the silver part where the lid connect to the toilet and the white part for the lid). There would be contact if the lid is up and no contact when the lid is down.

    Sinds (most of us I assume :p ) put the lid up when were using the toilet and put it down when were done this would be a workable solution. Finally I would still add a timer for the times that someone (for instance a visitor) leaves the seat up for say 30 minutes to turn of the light.

    An additional benefit is that you will please the misses sinds you will have to put the lid down every time for the contact to work. That softens the blow when your tinkering in the bathroom will the misses needs to use the toilet  ;)

    Image result for switch with lever
  • cbhcbh Member
    edited January 2018
    So obvious...
    That is definitely worth looking into - it must be possible to find a small enough switch that can be hidden...

    Or, continuing on the thought about detecting position of the lid:
    A tilt-sensor like
    This sensor, however, is rather large - anyone who knows smaller ones?

    Perhaps the simplest solution is to mount a Sensative Strip ( with the large part on the lid and the small magnet on the seat - although not really hidden...
  • And when u have a large bathroom u have to run in and put down the lid to put on the lights?
  • And when u have a large bathroom u have to run in and put down the lid to put on the lights?
  • cbhcbh Member
    Finishing the details...
    But as a cliffhanger: My toilet seat now officially "Talks with Homey" ;-)

  • Buy a proper toilet with all the bells and whistles built in from factory! This one ( senses when You approaches the toilet, senses if one is sitting on it and it have Bluetooth connection. Perfect for Homey... (I have one)
  • Maybe no solution for everyone but an ultrasound sensor connected to an WiFi ESP8266 (Wemos) board with a Homeyduino sketch would do the job. Should not cost more than about € 10,00. With Homeyduino the possibilities are endless and cheap.
  • DD Member
    How about a motion sensor combined with a door/window sensor?

    1. if door opened and no motion detected then start timer and turn on lights
    2. if motion detected and timer running then someone in bathroom and stop timer
    3. if door opened and someone in bathroom then someone leaves bathroom and start timer
  • cbhcbh Member
    Tried the solution with motion sensor and door sensor - only problem was the "lack of discipline" when it comes to closing the door - if I'm home alone (or if it's my teenage son) the door might not always be closed during toilet visits - or in the other hand always when the toilet is not in use...
  • I use an 'einzelganger' way of automating the bathroom and toilet visits. I have motion sensors in all my rooms/hallways (yes, even on the toilet). Homey always knows the room in which the motion sensors, door contacts and switches last triggered (lastMotionSeen, lastToggledSwitch, lastDoorOpened). I use these variables to check if I already left a particular room or not. If I ever use the toggling switch directly in said room, it overrides the motion auto on/off scenes.

    For the automation of the lights I use CountDown. On motion seen by the sensor hanging in the room, and the switch was not toggled last, it starts an initial countdown for 15 seconds. On countdown start I turn the light on if it isn't yet. Once the countdown reaches zero, I add another 15 seconds if the lastMotionSeen variable is still that same room. If it isn't, it will turn off the light (if it isn't turned off yet or if the countdown wasn't cancelled by an override in the meantime).

    Works a charm - except with multiple people walking around in your house triggering all kinds of things. Pretty funny to see their heads explode when I explain how this works in Flows. :-)
  • cbhcbh Member
    Could you share some examples of the flows you've made as inspiration?
  • Well...
    Everything worked...
    The single connection that I knew was the vulnerable point proved to be just that :-(
    The toilet seat is a "soft close" model which means the connection between the hinges and the seat and the lid are made by some ceramic cylinders with some sort of mechanics that provide resistance when stuff is rotating.
    Therefore it is necessary to make a connection between to parts rotating around each other - but without increasing the friction between them...
    One side is not a problem as the movement is between the lid and the hinge, but the other is between the seat and the hinge.
    Made a solution with a piece of wire but it proved to be too vulnerable - and plastering parts with copper tape made friction too big and the seat for stuck halfway when it should close by itself.
    Any suggestions how to get a connection between two rotating parts?
  • synegic said:
    Homey always knows the room in which the motion sensors, door contacts and switches last triggered (lastMotionSeen, lastToggledSwitch, lastDoorOpened). I use these variables to check ...
    Could you please post an example of these flows and variables. I understand how you use these variables, am keen to try it myself, but don't know how to implement it.


  • I am keen to hear your experiences with setup of motion sensor and door sensor? Does it work or is it annoying ? Looking for a setup myself.
Sign In or Register to comment.