Field Notes
Your Motion Sensor Thinks the Gym Is Empty
A Sonoff TS0202 costs about four dollars, and it is simultaneously a small miracle and a four-dollar liar.
Here’s the lie. You read "motion sensor" and your brain — hopeful, stupid — hears presence sensor. It is not that. It detects the movement of a warm body, which is a much narrower claim, and it makes that claim known in the cruellest possible setting: the home gym, at five in the morning, with you mid-set.
Picture it. You’re under the bar. You are, by design, holding very, very still. You are a warm body doing the single least-detectable thing a warm body can do. And the room, having seen no twitching for ninety seconds, concludes you’ve left the building and switches off the lights. On a squat. In the dark. In a converted corner of a house where everyone you love is asleep directly above you and would prefer to stay that way.
The instinct is to fight the sensor. Crank the timeout. Add a second one. Throw money at the symptom. Wrong, all of it. The fix is to stop asking the motion sensor to do a job it was never built for.
A door sensor is your primary trigger. Door opens, the room is occupied, lights on, full stop — no ambiguity, no warm-body guesswork. The motion sensor gets demoted to a keep-alive: when it does catch you moving between sets, it extends the "still here" window, but it is no longer the thing deciding whether a human exists. Door for truth. Motion for top-ups.
It’s a tiny piece of logic and it took me an embarrassingly long time and one genuinely alarming dark squat to land on it. Which is most of this hobby, honestly. Not buying the clever thing. Finally understanding what the cheap thing was actually telling you, and building around its limits instead of arguing with them.
THE LEDGER
Cost: $4 (sensor) + $12 (the door sensor I should’ve bought first)
Actual cost: one rep I’d rather not discuss
Survives a firmware update? It’s Zigbee and dumb as a brick, so yes — for once
Verdict: Door sensor first. Let the motion sensor be the sidekick, not the hero.