Voice Controlled Environments – the next “big” thing?
After having been working with voice controlled or .. voice activated “smart” environments for a while, here’s my take: This could get really great if .. and that’s a big if .. we find a common protocol that enables flexibility, compatibility and true interactions.
Over the last two months or so, I analyzed and developed, modeled and designed, compiled and coded, soldered and deployed. I built or modified “smart” plugs, infrared emitters, color lights, sensors and much more. All eventually ended up in a voice activated environment. Though I have only scratched the surface of what can be possible, it is and has been a lot of fun. But to make it really useful, we need to add flexibility, security and transparency.
The coolness of the Internet is based on one simple fact: interoperability. All web sites are coded in the same method. This is what made the WWW to what is is today. Internet of things (“IoT”) devices should follow the same principle. It shouldn’t matter whether or not your “smart” plug or temperature sensor was made by company “a” or “b” – it should speak the same language. But that’s unfortunately not the way it is today. If you buy a “Nice2MiTu” “smart” plug, you need to install a special app , if you get a KMC “smart” plug, you need to install another “app”. Same goes for your a/c thermostat, for sensors, color changing lights and so on. I had them all in my lab. It sucks. “Alexa” or “Google Home” can of course control them. But not you yourself. You will always require someone else to switch your light on.
That’s not what we need.
So I started to design and develop a “Home Automation” system that aligns more closely to the way I think we should be going. It still uses “Alexa” but only in a very rudimentary way. Because it transfers the decision making process into my house. Alexa just forwards what it understood to the house server and we’ll take it from there. Let’s consider the following sequence:
Alexa tell house good morning
My HA (home automation) system receives a “good morning” key word and executes what I have told it to do.
wakeword:good morning { sun=querySensor(outsideLight) if (sun < 70) command("group:daylight",on); temp=querySensor(insideTemp) if (temp < 60) command("group:heatblowers",on); terms = query("appointments); if (terms) say "Good morning. today is " + HAdate + ".The temperature out side is " + $temp + ". Your first appointment starts in " + terms.first().fromNow()); else say "Good morning. today is " + HAdate + ".The temperature out side is " + $temp + ". You have no appointments today"); }
Here’s what happens if I say the wake word. My HA system finds out if it is still dark and if the inside temperature suggests a quick shot of warm air. It turns the lights and the heaters on only if required. It checks my appointments and gives me a short update if necessary. And the best of it: The code runs in my house and on my computer.
This is only possible because I developed a protocol that allows all devices connected to my HA system to use the same language. I either developed the devices myself or flashed a different operating system on to devices I purchased.
Same may ask: Couldn’t “Alexa” or “Google Home” do the same thing? They probably could, but not to this degree of flexibility. Running your own “intelligence” adds a great deal of privacy and you wouldn’t sit in the dark if the Internet goes down. Because my HA system of course has an API that hooks it to your smart phone (on your own WiFi) or even some wireless switches. Some people probably don’t realize that without Internet – you can’t control your “smart devices” – not even with your cell phone. One more advantage: If you set reminders, wake up calls or timers, they too will run on your own system. So they will work even if the net is down. And another fact to consider: Since all your devices are only “listening” to the commands and requests from your HA server, it makes it easy to switch the voice control service. If you want to go from “Alexa” to “Google” or “Siri” or even Mozilla voice, all you have to do is to adapt your HA to the new service and that’s it.
I realize that we’re a long way from device interoperability. And I realize that the current “Speech Service” providers are probably not interested in opening the “walled gardens”. But this is were freeware comes in.
In this spirit, I will release the source code for ESP8266 devices, the source code for my home automation system and the protocol specifications for my system as soon as it’s a bit more stable. I strongly believe that “voice control” can be the next big thing.
We need to make it “our” next big thing.
About the author:
Michaela Merz is an entrepreneur and first generation hacker. Her career started even before the Internet was available. She invented and developed a number of technologies now considered to be standard in modern web-environments. Among other things, she developed, founded, managed and sold Germany’s third largest Internet Online Service “germany.net” . She is very much active in the Internet business and enjoys “hacking” modern technologies like block chain, IoT and mobile-, voice- and web-based services.