Home Automation

Home Automation

Lately I’ve been consumed with the desire to automate certain things in my home. To be honest it started when I saw the movie “Electric Dreams” when I was a teen. Over the last few years though, home automation has become a realization after companies and individuals launched home automation platforms, such as HomeAssistant, OpenHAB, and others, bringing the “Electric Dreams” of the past to the now.

I’ve tried a number of these systems, the devices they support, and various device firmware to try to find just what I want…even if I don’t know exactly what that is right now.

I know I want “presence detection”, which is knowing where someone is, specifically knowing when someone is home. A good example of this may be to switch off all the lights, decrease the temperature in the house, and activate an alarm system, when you leave the house for the day. You can attach conditions to this as well, for example you wouldn’t want to do those things if someone else was still home after you leave…so again, presence detection to the rescue.

One of the other things I certainly want is voice control and voice recognition. Being able to say “Turn the heating up 2 degrees” or “Dim the lights to 25%” is a must for me. I don’t want to think of my home automation system as just a computer, but more of a presence that’s intuitive and learns patterns about my behavior, and others in my home.
That leads me to my current project, which is using the Harmon Kardon Invoke, powered by Microsoft Cortana, as the voice interface between me and my home automation system.

Microsoft Cortana is really what’s doing the work here, or at least the detection and initial processing of my voice. That data then gets sent up to the cloud (Microsoft Azure in this case) to a “web bot” that handle the request and formulates a response. Some of my other posts will talk about the actual technology involved, some of the design and architecture, and the actual code. For now I’ll just say: This is going to be fun!

Let’s get started: The Smart Home Roadmap

Quick Tip #2 (Mosquitto ACL)

If setting up a new instance of Mosquitto and the instructions (or someone) tells you to add an ACL file, do yourself a favor and ignore them…at least initially. I just came across this and an ACL file can cost you days of troubleshooting.

Once you have your services communicating over MQTT, then go ahead an add an ACL file to your Mosquitto instance, but add a single user at a time and restart the services to make sure everything still functions as expected.