Show HN: I’ve built an IoT device to let my family know when I’m in a meeting
82 comments
·May 11, 2025gia_ferrari
pammf
Would it switch the lights if you’re only listening with headphones while your camera is open?
Most of my awkward moments happened with family members casually cruising on my background while someone else had the word. Usually they can hear when I’m speaking and don’t enter the room.
progman32
In all my meeting software (the usual suspects running in the browser) the mic is always opened at the driver level, even if I'm muted. Perhaps it's to avoid latency when you unmute, or perhaps it's for those "you're muted" pop-ups.
freedomben
Yes, this and also potential permission issues. If the first time you try to talk you get prompted for microphone permissions, it can be highly disruptive
garyfirestorm
This sounds like a proper way to do it. Maybe I am biased for MQTT but I like your approach.
BrandoElFollito
And HA which supports autodiscovery. Such a great piece of software
lemming
Mine is even simpler - I just control an off-the-shelf smart bulb via a couple of macOS Shortcuts, which is trivial using Homekit. Those are driven by Hammerspoon which triggers the shortcuts based on the camera events. No custom hardware and like 20 lines of code (not including the shortcuts, I guess). I have the bulb in a normal lamp base outside my door. It's properly event driven rather than polling, too.
zimpenfish
Similar - Hammerspoon detects whether I have a Teams meeting window open (I never have my camera on) and calls out to Home Assistant to control a WLED strip visible outside the room. Also have a Zigbee button for ad-hoc control if I'm called into a Slack huddle, etc.
(I've also got it parsing my Outlook iCal to do "meeting pending", "meeting maybe pending" but it turns out that Outlook's iCal is nonsense and parsing it is a fool's errand.)
justinrubek
The custom hardware is the apple device and the smart bulb. Homekit doesn't appear to be usable outside that ecosystem, so I wouldn't call it non-custom
fblp
Is there any way to do this with a bulb near you if you use multiple rooms? Like using closest Bluetooth range or something?
Aurornis
Triggering based on the webcam is very smart.
I can think of at least 5 different companies that have tried to launch similar products, including a couple local startups. Most of them had some sort of manual control which everyone gets tired of after a couple days. The few people I saw try to use the manual lights would forget to turn it off, which turned it into a false alarm system, which quickly taught everyone to ignore it and peek their head in anyway because it was on so frequently that everyone knew it had no actual correlation with the person being in a meeting.
FireBeyond
I use a StreamDeck with MuteDeck (which basically provides a consistent tooling for the buttons regardless of Teams/Zoom/Meet).
MuteDeck can also integrate with hardware tools, specifically the Plenom Busylight (https://busylight.com/), which actually got a lot more reasonable price-wise from my memory ($50). They have a couple of different types of light mount.
But for now I'm fine - I work from home, desk is in the middle of the room facing the door (so camera is aimed at me and far wall). If my partner walks in, she can see the camera status on my Insta 360 camera on my monitor which has a green light visible from any direction if the webcam is live.
raggi
I've considered doing something like this a few times, this is seriously ripe for an ON AIR sign :D
sanex
If I ever find myself in your town I'm going to get free wifi.
But seriously I've wanted to build something like this for so long just never had the time. Going to definitely do it now. Love the idea of using the camera status to change the light.
delduca
That leak was intentional. ;-)
Come over to my place for some beers.
nine_k
A great alternative to https://busy.bar/ if all you want is the core functionality, not bells and whistles, for the 10% of the price.
FireBeyond
https://busylight.com/ can tie in to things like MuteDeck/Streamdeck which I use, for $50.
skygazer
I did the same a few years ago with a Mac in swift -- listens to the event log via some private ObjC API for camera on and off, and checks for microphones in use. Homekit LED over door turns green if computer is awake/unlocked and not idle more than some threshold. Turns yellow if a physical mic is in use. Turns red if a camera is in use. It sends an indirect request to HomeKit to turn on/off or set the color of the light. (Indirect, because I directly set values on a homebridge synthetic accessory, and use homekit rules to mirror those changes to the actual light, which feels hacky -- talking to homekit directly looked too complicated and entitlement heavy.)
It's worked like a champ. -- although every few major macOS releases, Apple changes the log string for camera on and off events.
onair4you
I like the ingenuity, but I didn’t want have to build custom hardware. My solution:
Lutron smart plug
“On Air” sign off of Etsy
Script to watch log file indicating the state of my webcam. On changes, triggers an Apple Home command to turn the Lutron switch off and on.
ctxc
You should write about it and add pictures! :)
turtlebits
What happens if you turn off your video? For large or long meetings, I generally turn my camera off.
tonyarkles
Lots of haters today. Love it, great opportunity to build something that solves a problem for you for cheap and gives you an opportunity to play with some tech.
Clubber
This is very cool and I'm glad you were able to build it.
On the contrary though, I've been fascinated with simple non-technical solutions to problems lately. For example, my buddy hates it when people use his driveway to turn around. He lives on a corner lot and the layout is prone to people turning around in his driveway, and apparently this is a pet peeve of his. He was talking about installing a gate, or a retractable pole that he could extend from a hole in the driveway, all these intricate technological solutions, etc. I gave it some thought and got him a street cone off eBay to put in his driveway. I leveraged human psychology over technology and it worked like a charm and only cost $30.
For your example, I would just put a do not disturb sign on the door. The flip around kind they have at hotels. It takes getting up, but just as effective and you get a few steps in. Of course you don't get to learn and build stuff, but like I said, I'm fascinated by simple solutions right now.
542354234235
But you have to remember every time to flip it before a meeting starts and after it ends. If you don’t then it will start being ignored because its never accurate. It also doesn’t work if you get an impromptu call or meeting you weren’t planning for. If you have a simple, predictable meeting schedule, a sign could be fine, but an automatic solution can work a lot better in other situations.
Clubber
>But you have to remember every time to flip it before a meeting starts and after it ends.
Agree, but it's an easy habit to pick up.
>If you don’t then it will start being ignored because its never accurate.
Yes, that pavlovian response works both ways. If people keep interrupting my meetings, I'll remember to put up the thing. Remembering to take it down when the meeting is over is more problematic though.
>It also doesn’t work if you get an impromptu call or meeting you weren’t planning for.
It does. I've never had a meeting where it didn't take me a few rings to get my AirPods in anyway.
I totally agree with most of what you said and I appreciate the technical solution presented. Like I said my mind is just into finding simple, non-tech solutions right now. Also another benefit of the simple solution is it costs probably a buck or two, cheaper if I made the tag myself with scissors, part of a cardboard box and a marker.
The problem with both solutions is it doesn't work for dogs who typically can't read. An even simpler solution just occurred to me. Shut the door when I'm in a meeting.
delduca
Source code https://github.com/skhaz/onair
gus_massa
It was hard to notice. It's the small rectangle under the screen.
> This endpoint receives a JSON payload with a status of “on” or “off”, and turns the LED panel red or blue accordingly
I just rigged up something similar: a DBUS listener for PulseAudio mic activity that publishes MQTT events to Home Assistant via discovery. No device config needed. I use hallway RGB lights to signal status ("purple = I'm in a meeting"). Quick and easy setup, I already had the RGB lights for mood lighting. Runs as a user systemd unit.