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.
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.
I've considered doing something like this a few times, this is seriously ripe for an ON AIR sign :D
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.
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.
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.
Love it, I was expecting for some reason you routed a cable to the Webcam LED, or at least a light sensor (though that would make the lid unable to work if it's a laptop). But this is even more elegant, I guess I've been trying to do more hardware hacking recently and I read ESP32 so my expectations were off.
Source code https://github.com/skhaz/onair
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.
What happens if you turn off your video? For large or long meetings, I generally turn my camera off.
I built a similar thing using Bluetooth to a ESP32.
The hard part is reliably detecting camera status. I’m currently using a utility called Oversight, but it is event-based and the dodginess of the Bluetooth connection means the device gets out of sync.
The python script takes a different approach, so I’m going to check that out.
This is so awesome.
I thought about doing something similar during Covid, but mounted above the door frame.
Ended up getting a real office instead. WFH was great... until the toddler became tall enough to open doors :)
Neat little project. For these things, I usually find that simpler is better - use the minimum feature set to finish it and start use.
I recently found a server status bezel and was thinking of making a remote status indicator out of it... maybe I should reduce the features of that project too.
Well done! I've been thinking about something like this for a long time. I considered using the Google API to check for calendars but the camera is so much better an idea!!
as a generic aside, this seems like it's more of a "LAN of Things" project than an IoT device. It seems it would work fine if the upstream IP dialtone cut out for a while (though i'm guessing you wouldn't be doing too much video conferencing if that happened.)
but the core functionality doesn't require a server in the cloud, so by definition it's not IoT. just a nit though. it's still a cool little hack, no matter what you call it.
I use an Embrava Blynclight Mini, ~$60 on amazon, works fine.
See also: https://github.com/JnyJny/busylight
There was a time I worked from the corner of our living room.My partner would often walk in during meetings, sometimes asking loudly where the charger was. One day, I left a sticky note on the table:“In a meeting – please check back in 30 minutes.”Surprisingly, it worked. What really changed things wasn’t the note itself, but the quiet agreement it created.
I put a sign on my office door.
In college, people would just put a sock on the door....
mDNS is really convenient. Unfortunately the only way to install it on Windows is through old iTunes installers.
I have a similar system at home: there's a door on my office, and I close it.
[dead]
[dead]
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.