I’m something of an early-ish adopter when it comes to technology, and wound up getting myself an Echo and Hue lights back when the Echo first launched. I had a dream of a utopian future where I would be able to tell my house to do my bidding, and this was the first step in that plan.
What actually wound up happening that first day was I got increasingly frustrated and spent much of the afternoon yelling at lightbulbs. Echo didn’t do a great job of understanding the difference between “off” and “on” when I spoke unless I over enunciated, and there was some trial and error on picking names I could say quickly and clearly enough that Alexa wouldn’t garble it horribly.
I also found that I really didn’t WANT to talk to my home for trivial shit like turning lights on and off when appropriate. What I actually wanted was my home to figure out – or at least be programmed to follow – my patterns. For example, if I get up between midnight and 6 AM, I wanted my home to know that I was probably going to the bathroom and so to turn on the lights in my bedroom and bathroom to 5% illumination and the color red, so I wouldn’t wake up more than I had to and wouldn’t wreck my night vision/give myself a headache with bright white lights. I wanted my home to know that if I’m moving around in my bedroom between 6 AM and midnight, that probably means I want lights on, normal brightness and soft-white, but only if the room isn’t already pretty well lit. I wanted my house to know that, if I went into the kitchen in the morning, I wanted lights on, I wanted it to tell me the weather, and then ask me if I also wanted to hear the news, without me having to say anything.
In short, it turns out I want a home that anticipates my needs rather than requiring me to micromanage it. At the time, there really wasn’t much on the market that would let me set that up, and what pieces of the puzzle out there that did exist, didn’t talk well to one another.
Doing what any good nerd will do, I started thinking up a system that would let me have everything I wanted and that would let me use any piece of tech that I wanted without having to worry too much about compatibility. My first plan was built around the idea of sensor hardware – motion, light and light level detection – that would send some kind of signal over some protocol or another (Bluetooth, wifi, radio, whatever) to a central device that would then have a set of rules on it for what to do with whatever sensor info came in, and would then translate those rules into API calls to things like my Hue lights or any other system that would take various actions. The idea was to set up sensors around my home that would talk to the central device and have it issue the commands to the actuators, rather than me, verbally, having to do so.
I started to take a few steps toward this – I couldn’t find any good motion sensors out there that weren’t either completely locked down (no way to pick up their signals) or hideously expensive or both – so I started to teach myself some electronics stuff, and settled on adding some motion sensors to an Arduino. Initially I added a wifi adapter to the Arduino, but that was not terribly practical – the adapter cost more than the Arduino, required constant power (so, wall power) rather than a battery to keep alive, and all that jazz. I eventually settled on RF transmitters and started putzing around with building a mesh network of Arduini and them hopefully reporting back to a main hub that would then report the info to something in the middle.
Unfortunately, life got in the way – I sold my place in the city and bought a farm out in the country, and that move ate up all discretionary time that I had. I also changed jobs, which further ate up all of my “learning new stuff” energy as I familiarized myself with the new stack and such. I’m now at a point where I’m feeling a little less slammed, and bonus, it’s winter, so doing a bunch of stuff indoors is quite appealing.
Down side is that I haven’t gotten my electronics workshop set up again, but I can at least start tackling the software side of things. A couple of days ago I got the Raspberry Pis I decided to use as the centerpiece of this project set up, and now my goal is to get the software pipeline set up of taking in a signal and spitting out an API call.
Ultimately, this brain portion is going to be a kind of universal translator, and the first one I’ve built, so I decided to name her Hoshi.