I have multiple Logitech Harmony Hubs (which I will call "Hubs" with an uppercase "H"), devices in my house that act as remote control transceivers. In other words, the Hubs can receive commands from a select set of Logitech-branded physical remote control devices such as the Logitech Harmony 950 and then issue commands to other devices via infrared (IR) or Bluetooth. The Hubs can also receive commands from other things such as an app on a phone or tablet, or a home automation controller such as openHAB. A single Hub can also be "linked" with an Amazon account meaning that you may control it using voice commands to an Amazon Echo, (which I will refer to as "Echo"), device. However, in houses such as mine where there are more than one Hub, there is no way to control additional Hubs directly with an Echo without either losing some natural language options or creating multiple Amazon accounts. To get around the "one Hub per account" restriction while retaining natural language control and not losing things such as whole-home audio with the Echo, I use the openHAB automation software to receive voice commands from an Echo and forward those commands to the proper Hub.

There have been a number of times in the past where the garage door has been left open all night or when no one was at home. This could be due to issues such as someone forgetting to close the garage door, or the door having problems closing without anyone noticing. I wanted to get a text message on my phone when the garage door had a problem closing, or had been open for more than 10 minutes. While there are some very well-written scripts for openHAB that do this in a more robust and flexible manner than my implementation, they are much more complex. I chose a more simple solution that does what I want. To implement this in openHAB I used a combination of groups, metadata, rules, and scripts.

When I am getting ready to leave the house I like to be able to issue a single command such as "turn on leaving mode" and have the home automation perform the following actions:

  • Turn off all the lights in the house
  • Turn on the lights in the area where you exit the house to the garage
  • Open the garage door

Then, after a certain period of time passes, do the following:

  • Turn off all the lights that remain on, (which should just be the ones in the area where you exit from the house into the garage)
  • Close the garage door if it is still open if I forgot to close it, (which has happened more than once)

When I am returning home through the garage, (meaning the garage door started opening when formerly closed), I want to automatically turn on the lights inside the house in the area where you enter it from the garage. As I add more equipment, I can also automate more things such as: lock all the doors, arm security, and alert me if any windows are open before I leave.

In order to implement a cohesive way to control and monitor you home, you need some sort of controller to integrate with your devices. This can take the form of a "hub" hardware device (or multiple hubs) that you place in your home, or the use a third-party (or multiple third-parties) over the Internet. Since there has been a historically bad track-record with security flaws with home automation or Internet of Things (IoT) devices and software, I did not want to rely on a third-party to manage control of my home automation. I also wanted to control my data as well as remote access to my home. With that in mind, my main goals for a home automation controller are:

  • Not require any sort of connection to the Internet, or use any third-party servers
  • Be able to integrate with a variety of common devices and services so I am not constrained to just one product line or ecosystem
  • Be accessible away from the home over secure channels on a variety of devices, (namely Android and Windows-based ones)
  • Support access using a "panel" interface such as an Android tablet mounted on a wall in the home
  • Be a mature and well-supported product

Go to top