Shelly fan control, or Why my bathroom light switch now has two IP addresses…

Tags: #<Tag:0x00007f780e43c410>

In our bathrooms, we had traditional extractor fans controlled by the pull-cord light switch, with a timer so that the fan turned off a little while after the light. ‘A little while’, we realised, was perhaps a bit long in our case, after one guest hinted that the sound of the fan in their ensuite had kept them awake for 20 mins…

The trouble was that adjusting the timer meant getting a ladder and going up into the attic with a torch, clambering over rafters to the farthest, most inaccessible corner, then burrowing through thick layers of fibreglass insulation to get to the fan, unscrewing the top and inserting a small screwdriver in a slot and turning it a little bit. Then climbing back down, going to the bathroom, turning on and off the light and waiting for 10-15 mins with a stopwatch to see whether I’d set it correctly. Then repeating the process until I got it right. Oh, and did I say that we had three bathrooms like this? There had to be a better way.

Once I discovered the Shelly 1, with its mains-voltage input, I realised I could use it to read the state of the light switch and control the fan directly, with adjustments being made in software, which would be much nicer and wouldn’t involve inhaling any glass fibres. Even better, I could follow the model that some newer timed fans now use: after the light switches on, don’t start the fan for a minute or two, in case this is just a brief visit. And then, if you’re staying a bit longer, turn the fan on and leave it running for five minutes after you’ve departed. I could also adjust those times if, say, it was the middle of the night.

Once I started to connect things up, though, I realised I’d have to do a bit of rewiring of the lights, too, because of the way things were connected. So I decided to install a second Shelly to control the lights, which meant I could do things in future like turn them on using a motion sensor, or not turn them on if the room was already bright enough, and I could do so independent of the fan and its timing.

Anyway, to cut a long story short, this all worked beautifully.

The output of the light switch is an input to both Shelly units, and one turns the lights on and off while the other does the fan, with the fan timing controlled by Home Assistant: switching on after 90 secs, and turning off 5 mins after the switch. When I get around to adding motion sensors — mmm… that may be an unfortunate name! — I can reconfigure the light pull-switch to act as a toggle instead of an absolute on/off, so things could be switched automatically or manually, or a bit of both.

Until then, I’m not doing anything much with the lights: they just turn on and off under the control of the switch as before. But I can of course now monitor them and control them remotely, and they appear in my list of ‘lights that are currently switched on’.

Now I just need to repeat the installation process for the other two bathrooms!