Content

blog, portfolio, and links

Logitech Harmony Remote Programming in GNU/Linux

Thursday 27 August 2009 - Filed under Default

I have a Logitech Harmony 510 smart remote that I use to control the devices that live near my TV. Programming the device was simple enough…I plugged it into my computer selected my TV, cable box, and dvd/home theater system and defined a couple activities like Watch TV and Watch DVD.

When you trigger one of these, the remote sends the appropriate commands to each device so you can watch what you want. The software made it pretty simple and I was impressed with the device support so I think the remote is a good value for the $80 or $90 price tag.

The only issue is that the software doesn’t run on GNU/Linux. To be fair, I didn’t try it on WINE but I like to explore what’s built specifically for GNU/Linux. Then I heard a couple weeks ago about a program called Concordance that lets you update your remote from gNewSense or some other Linux-kernel-running OS.

I decided to give it a go so I started by downloading the tarball and began to build the two parts I needed: concordance and libconcord. To successfully build them, I had to do libconcord first and I believe I had to make sure libusb was installed. Once it was built and installed, I found that I needed to run concordance as root. I also had to set an environment variable since the libconcord library wasn’t installed in gNewSense where the the concordance binary expected it.

Apparently, this programming process works by interacting with a website. Logitech runs a site, mentioned in the README files, that lets you download a communication file that triggers the remote to respond to the website. The communication file has some sort of session id so you have to download that each time you want to update the remote. Once that file is sent to the remote, the website gives you the menus that you use to select the options for your remote. When you’re all set, a new configuration file is downloaded to your computer and you run concordance again to complete the update. I had expected that this tool was flipping bits on the remote but it turns out it just provides a way to get the remote and website talking without the Windows-only tool.

I backed up my current config, made some changes, and successfully updated my remote. The end result is that I don’t have to go through 4 pages of custom commands to get to the HDMI input on my TV or to manually turn a device on or off. I should have looked for concordance a month after getting the remote rather than waiting 8 months as I did. I could have used the Windows tool too but what’s the fun in that?

Anyway, it was an educational and satisfying experience that opened my eyes to the way the remote actually gets programmed. I didn’t know that Logitech was storing the details of my hardware on their website but I guess that’s not such a big concern. Maybe Logitech should help me sell them when that comes time?

Have you tried it? How has concordance worked for you? If it’s good, go to this page and write it a good review!!

Tagged: » »

2009-08-27  »  David Sterry