The Smart Hook

The Problem

We're in the middle of what I'm calling a 'progressive' renovation of our ensuite at the moment. Some DIY, some trades, and all of it happening whenever we get a chance. I've also naturally overcomplicated it with addressable lighting and a smart mirror, so it's taking a little longer than expected.

In the meantime, we've been using our second bathroom — which is pretty compact, and doesn't have a great spot for a towel rail. So we hang our towels on command hooks on the back of the door.

Now, I'm a notoriously distractible guy — Britt will be more than happy to confirm that. After my morning shower, I walk the length of the house, get dressed, and typically immediately dive into the day's work. Towel ends up on the bed. Britt is not happy.

I could just be more disciplined about it… or I could use my printers and Home Assistant to compensate for my lack of discipline. That seems like the healthy option, right?

What I needed was some way to tell if I'd returned my towel to the hook after a shower. If I hadn't, it should alert me — via my phone, or maybe a siren of some kind.

I also wanted to do it as cheaply as possible, and didn't want a simple dumb reminder that fires off every morning regardless of what I've actually done.

The best approach seemed like having the hook itself tell my smart home when something is hanging on it. A smart hook, essentially.

The Build

I'd recently made a video about modifying Aqara T1 sensors into recessed door sensors with a custom 3D printed housing — which meant I'd already modelled the T1 PCB. Half the work was done before I even started.

The concept was a spring-loaded hook mechanism that interacts with the sensor's reed switch. When there's nothing on the hook, springs hold the magnet close to the sensor, showing as closed in Home Assistant. Add some weight, the hook slides down, the magnet moves away — now it shows as open.

There were a couple of interesting challenges along the way. The reed switch had a bit of 'stiction' — the point where it activates and the point where it deactivates weren't the same distance. That took me a little while to figure out, but once I did, I just needed to make sure the hook's travel was large enough to reliably cross both thresholds.

Getting the spring tension right was the other tricky part. Too stiff and it's unpleasant to use. Too light and the hook could bind in the pressed position and give a false reading. I landed on a two-spring design that lets you pull one spring out if you need it a little easier to actuate.

A few prototypes later, I had something I was really happy with.

The Result

The finished hook is roughly based on the proportions of the command hooks I was replacing. Aside from the prints, it uses just a couple of screws and the T1 sensor — so the whole thing comes in at about $15.

My automation works like this: when the hook goes closed after my alarm time, a 20-minute timer starts. If the towel hasn't been hung back up by then, I get a notification to my phone. If it's still not there after another 30 minutes, it escalates to an alarm sound on my speakers. In theory, it shouldn't be possible for me to unknowingly leave my towel in the wrong spot anymore.

What Else Could You Use These For?

The towel thing is what prompted this, but there are a lot of other interesting possibilities. If your keys aren't on the hook when the house goes into sleep mode, maybe you get a notification to check the car. Maybe the TV doesn't turn on until the kids have put their backpacks on the hooks in their rooms. Or removing your dressing gown from a smart hook could bring the lights on through the house for a late night snack run.

Make Your Own

All the files are free on Printables as always, and if you don't have a printer yet, you can grab the printed parts and hardware ready for you to install your own T1 sensor from our store.

Next
Next

The Prusa Tower