Wifi, cloud, Z-Wave, Zigbee, 433MHz… what’s missing? What else could I possibly add to my home automation?
Well, there’s infrared. I actually have to pick up my remote control to turn the TV on, and how inefficient is that!?
That’s where the Logitech Harmony Hub comes in. It’s basically a universal remote control in a hub that works with a huge range of home entertainment devices.
At its simplest the hub lets you use the app on your phone as a univeral remote control. That could be useful but unlocking your phone, opening the app, and selecting the right device is nowhere near as efficient as just picking up the remote control. It’s rather pointless unless you’re absolutely determined to reduce the clutter of multiple remotes on your coffee table.
The real strength of the hub comes from integrating Alexa or linking together multiple devices and then combining actions with them into your home automation routines with IFTTT and, of course, Home Assistant.
That’s the idea, anyway. Unfortunately it doesn’t really work as smoothly as you might hope.
Harmony’s advanced actions are known as activities. When you create an activity you have to decide which devices participate in that activity. When you start the activity, relevant devices are switched on. When you end the activity they’re switched off.
For example, my TV aerial is connected to a Humax DVR instead of directly to the TV so that I can pause live TV. My “Watch TV” activity would need to turn on both the Humax and the TV.
The first and biggest problem isn’t with the Harmony Hub itself. It’s just the nature of infrared. There’s no bidirectional data flow – the hub just sends signals to the device and has no way of getting the current state.
Some devices have separate on and off signals, but many only recognise a toggle signal that replicates the remote control. When the hub is told to turn those devices on it will send the power toggle signal, turning the device off if it’s already on.
That’s obviously a problem if Harmony’s idea of the state of a device differs from reality.
For my “watch TV” activity to work properly both TV and DVR have to be off before I start the activity. I also need to turn them off by stopping the activity. If I forget and just hit the remotes to turn them off the hub will still think it’s running the activity.
If I then stop the activity the hub will actually turn the DVR back on because it thinks it’s already on and can only send a power toggle command. The TV has separate on and off infrared commands, so at least that isn’t affected.
Logitech’s answer is to stick with the hub and to stop using the native remotes altogether. I understand that – it is the only way to keep the hub in sync with the devices. I just don’t think that would work in practice – the automation needs to work in addition to, and not instead of, manual control.
The activity concept is also somewhat restrictive. Since switching activities will turn off any devices not participating in the new activity you have to be really careful about how you configure them.
For example, let’s say you have a “Listen to music” activity and a “Watch TV” activity. What if you wanted to mute the TV and listen to music at the same time?
You’d need a third activity that includes both devices. There are other power options for devices, but they have their own limitations and can’t be configured on a per-activity basis. It can easily get complicated.
This matters because the Alexa integration is based on the activities. Saying “Alexa, turn on the TV” will start the “Watch TV” activity. I’d prefer to be able to control each device independently, even if it meant having to issue multiple commands to turn on each device in turn.
OK, so I could do that with input boolean switches in Home Assistant that trigger sending the relevant commands directly. Unfortunately that would mean losing out on some of the nicer Alexa features that only work when using activities.
The Alexa skill for Harmony lets you change the TV volume with a voice command – but only if you’re running an activity that includes the TV. Alexa also exposes favourite channels as scenes, so you can change channel by saying things like “Alexa, turn on BBC1”. Again, though, this requires an activity – the hub will need to turn on the “Watch TV” activity if it isn’t already running.
Once it’s all set up it does work, and it’s fun to change channel with your voice, but I’m honestly not sure whether I’ll be sticking with it. The voice control can never fully replace the remote and I’m sure that the hub will end up getting out of sync with reality often enough that it becomes more trouble than it’s worth.in Home Automation