I’ve covered Smart Things for retrofits in my last article so you should know by now how much of a fan I am of using it with custom device types. However one thing I didn’t cover is how well it integrates into the Logitech Harmony Hub. The Harmony Hub is an internet connected infrared blaster/repeater.

You can us the logitech smart phone app to control your IR based home theater equipment, but you can also use it to control WIFI or Bluetooth enabled smart home equipment. It can talk to SmartThings, Nest, or any number of popular home automation gear. It’s actually a very cool thing to own in your smart home because it ties your home automation and AV equipment together. For example the physical harmony remote control shows your thermostat info right on its LCD. It show temperature and operating mode, it lets you make changes to your thermostat right from the remote.

gallery-1To those of you who will not be using SmartThings, I think you could get similar functionality using whichever hub you currently use to control your smart home. The Harmony Hub is the key to this project.

It occurred to me that I could now use this IR blaster to control all of my legacy appliances in my house that are IR based. I have two portable air conditioners which have IR remote control. I also have an older roomba which takes IR commands. As a side note, I also plan to purchase an LED light strip, and I’m considering buying a cheap one that is controlled by IR remote, rather than spending the extra money for an internet connected one such as the strip that Philips provides for their Hue line of products.

Nowebsite_product_powermidxlw the problem I faced was that all of my IR devices are in different rooms. So how can I reach all of them from the Harmony Hub without running blaster wires everywhere? The answer was with an IR to RF repeater. In my case an X10 Powermid set.

The power mid takes IR input into one module and then repeats it over RF(radio) to the receiving end, which then turns the signal back into IR and repeats it to near by devices.

There’s probably other good IR to RF repeaters to be found on the internet, I just happened to already have these in a big box of old X10 gear I got at a significant discount. On their own they are still a bit pricey on Amazon, but if you look around I’m sure you can find them cheap.

The set up is easy. Put the transmitter powermid near your Harmony Hub. Then place the receiver powermid near the device you want to control, in my case, a portable air conditioner. The next step is to add a custom device to the harmony hub using the smart phone app. This is a familiar process to some of you. You take your air conditioner’s remote control and use it to train the hub so that it knows all of the remote’s command signals.



When it is all set up you will have a device on your smartphone app that looks like this below. You will also have the device show up on the harmony TV remote. All of these commands had to be learned from the AC’s remote control.

Screenshot_20160905-211313 Screenshot_20160905-211315

So what’s the end goal here? Well since we are now able to control the portable air conditioner from the harmony hub and wifi app, you can also control it from SmartThings or Nest. SmartThings already controls my main furnace/thermostat system. I have zigbee temperature sensors all over my house. I use these sensors to inform SmartThings. And in turn SmartThings controls my thermostat and toggles power to my ceiling fan. It’s a simple matter of adding a Harmony Activity to that behavior. When it gets hot in my house, turn on thermostat AC, ceiling fan, and send power on command to the IR based air conditioner. It’s that simple.

The only gotcha is the Harmony Hub only allows smart home devices (nest, smartthings) to toggle activities, it does not let you toggle devices directly. This causes a bit of trouble because it interferes with normal home theater activities. For example lets say you were watching a Bluray, your hub and remote would be in the Bluray activity and show you all of the relevant buttons and options for watching movies. If you had your smartthings or nest toggle the ‘Turn on AC activity’, your remote control would switch from Bluray mode to AC mode. All of the buttons would change. This would be very annoying. Because of this I recommend owning two Harmony Hubs, one for smart home devices, meant purely as a bridge between Wifi and IR, and a second hub for home theater equipment. This seems like something Logitech could fix in software however.


I recently purchased a Samsung Smartthings Hub and it was one of the better decisions I have made for my home automation system. The Hub has it pros and cons but one thing it does really well is that as a developer I can write my own custom switches and have them behave like professional consumer products.

In particular I’ve gotten rid of all of my custom software to control my X10 equipment and now use Smartthings to handle this for me. This offers a huge benefit because it now future proofs my legacy equipment and allows them to interact with other modern automation systems. Essentially Smartthings adds an abstraction layer so I no longer need to hand-roll x10 support on a case by case basis for my gear at home.

What does this really mean? For starters I have slowly been replacing my x10 light switches with Philips Hue lights. Philips Hue lights are compatible with Smartthings. I have a Logitech Harmony Ultimate Home kit. The harmony remote has support for Smartthings and hue lights out of the box. Which means I can control my Hue lights from my TV remote.

Now because the Harmony remote can communicate with Smartthings, and because I can control my x10 gear from Smartthings, by that extension I can now control my X10 lights from my Harmony remote. There was no custom hackery required, it simply just worked. I can control my Hue lights and my X10 lights from the harmony remote as if their was no difference between them.

Likewise when I control my lights from my Android phone, the Hue and x10 lights behave as though they were the same.

Why do I still have x10 lights? A) I’m cheap and lazy and B) I found that if you are powering at least 4 bulbs off one x10 switch, you can actually switch to LED bulbs. Any less than that and LED bulbs will not work properly. The current that flows through the circuit to power the X10 switch causes one of the LEDs to stay on permanently if you don’t have at least 4 bulbs.

This is also a good solution for appliance modules. Current generation zigbee or z-wave appliance modules are pricey. X10 appliance modules can be found used for cheap and offer the same functionality. However they obviously suffer from classic X10 signal issues, which means if you plug them into a wall socket that gets a poor signal, you might as well use a modern module instead.

But if you plug them into a wall socket that seems to behave well, chances are it will be rock solid. In one room using X10 appliance modules work great and have no signal issues. In another room, the signal was so bad that I replaced them with the Samsung Smartthings Appliance Module. It’s just a matter of being realistic with your results. I already owned a bunch of x10 gear, so for the circuits/rooms it works well on, I’ll keep them.


So, what I’ve done is replaced all of my x10 switches with fewer than 4 bulbs with Hue bulbs. For any switches powering 4 bulbs, I just swapped out my old incandescent ones with cheap LED bulbs.

I’m not going to walk you through how to do it just yet but you’ll find that after doing some reading and after setting up a smartthings developer account, it’s actually quite simple. All you need to do is add a custom x10 device and an x10 smart app to your developer dashboard. Someone else already wrote the code to do this but they’ve since abandoned the project. (I’ve forked the repo and will maintain it, see links below)

Here’s a video of him demonstrating how it works.

You can read about the x10 Smartthings app here: https://community.smartthings.com/t/x10-bridge-is-released-obsolete/4783

Since the project has been abandoned, I’ve forked his code and been maintaining it here: https://github.com/ssshake/SmartThingsPublic

What you need is the x10 bridge: 


And the x10 switch: 


This x10 bridge communicates with the mochad service running on a Linux machine (a raspberry pi in my case). I was already using this to control my gear so this was ready to go and super easy for me. https://sourceforge.net/projects/mochad/files/?source=navbar


In closing it’s great that I can now treat my old equipment as if they were modern. But Smartthings has also allowed me to take advantage of its presence feature. Automatically shutting my lights off when I leave. Automatically turning my porch lights on at sunset, etc etc.

If your car has homelink (built in garage door opener) you might want to check out using an X10 transceiver as a way to control your home automation from your car (within distance, driveway)

Common misconception, your home automation gear doesn’t have to be X10 to take advantage of this. You just leverage X10 as a bridge/transport between your car’s transmitter and your home automation server.

Simply buy a cheap X10 transceiver and USB interface (check ebay, kijiji, craigslist). You can use this to receive signals from cars with a “homelink” universal unit. Typically meant for garage door openers.

I currently have my homelink unit in my car configured to 1) open/close my garage, 2) Welcome Home Mode: Turn off house alarm, turn on exterior lights, turn on main level house lights. 3) Away Mode: Turn on house alarm, turn off all house lights, turn off exterior lights, indicate to devices like thermostat.

I use an inexpensive X10 transceiver module and an X10 USB dongle. I connect this to my Linux server (or use a raspberry pi), have a script intercept it, and perform actions like controlling my lights, security system, even thermostat.

For me this is great. I have a driveway that goes to the back yard of my house and to a detached garage. It’s really cool being able to come home and with one button press, I can light up my entire path back to my house’s side entrance. Or being able to pull away and turn off any lights I forgot about, without having to dig for my phone to do so.

Range is limited in my experience. 30 feet perhaps more. Depending on your layout you might want to set up a couple transceivers. In my case, I have one transceiver in my garage and one at the front corner of my house. I have a L shaped driveway that wraps around my house and this seems to cover it.

X10 Transceivers like this, http://www.x10.com/tm751.html are really inexpensive if found from the right source. I paid pennies on the dollar for boxes full of X10 stuff on ebay and kijiji. You’ll also need a cm19a or cm15a interface. Do your homework before deciding which and buying.