Since the dawn of time I’ve considered the PC (and related devices like Macs, printers, etc…) to be part of my smart home. For some reason, most traditional smart home offerings have treated PCs et.al. as somehow disconnected.
Sometime after the dawn of time (2004), I built MCE Controller (mcec) as a way of ensuring my home PCs could be as tightly integrated as my whole-home audio system or lights. MCE Controller is a little app you run on a Windows PC that enables that PC to be controlled from a smart home OS (via TCP/IP or RS-232). This made tons of sense when we were building Windows Media Center Edition (aka MCE) which basically turned a PC into a glorified DVR.
I’ve continued to refine MCE Controller. Last fall I added the ability to detect keyboard and mouse movement as a way of detecting that someone is in the room. The idea being, if the PC is being used, the room is occupied and the ‘smart’ lights in the room should stay on. Most motion detectors can’t detect fingers flying on a keyboard and thus without this my damn lights would turn off while I was working.
There are other ways of detecting occupancy, of course, but in my experience the best way is to combine multiple sensors that are as context aware as possible. An IR-based motion detector is pretty stupid, actually. So are under-floor pressure sensors. Someday we may have cameras using video analytics too. And microphones (can you imagine?!?). I bet we’ll see devices that can smell people.
But even with all those sensors, the most robust solution will use a variety of sensors fused together. A smart, smart home OS uses “sensor fusion” to actually really be smart.
It turns out combining one or more IR-based motion sensors with a PC “activity detector” works pretty damn well. I’ve been using this at my office at work, my office at my home in Bellevue, and my home office in my apartment in Sandy, UT since last fall and it’s pretty slick. But not perfect.
In the past few weeks of working almost exclusively from home I’ve found more cases where it was not smart, but pretty stupid. For example, when I’m on a video-teleconference (and actually paying attention) I’m not using my keyboard or mouse. I’m also sitting still. So neither the mouse/keyboard activity sensor, nor the motion sensor “sees me”. So the lights go out.
I found myself on conference calls, regularly having to reach out and move the mouse (or wave my arms) to have the lights come back on.
I realized that there’s another PC-based signal that could be added to the mix: Whether my desktop was locked or not. I religiously lock my PC (Win-L on Windows) whenever I get up from it. I was trained to do this at MS and Amazon where co-workers would punk you if you didn’t. So, at least for me “If PC is unlocked, the room is occupied…mostly.”.
Last weekend I updated MCE Controller to detect whether the PC is locked or not. So now, if the Activity Monitor is enabled, MCE Controller signals my smart home every 25 seconds whenever the desktop is unlocked.
It still senses keyboard & mouse activity, but in reality what I’ve really done is made it so the primary signal is whether the PC is locked or not.
You can download and install MCE Controller v2.2 from here: https://github.com/tig/mcec
It offers plenty of connectivity options that should make it easy to integrate with any home control system. I also have a Control4 OS 3 driver that I can provide to folks who ask (use Issues on GitHub please).