Logitech Harmony One Remote Sluggish with XBMC on Windows
I switched from using a crappy D-Link WDTV-Live to using HDMI over ethernet with IR pass through so that I could use XBMC. Bought an AIM RC118 MCE remote from Maplins that works fine with the system. It is very responsive.
I tried to set it up on my Harmony One remote as I have with other remotes but this one was undetected. Well it was and it wasn’t. The Harmony software didn’t recognise it at first and asked me to input a few buttons from the original remote. After about 4-5 buttons it then said it knew the rest already and that was it. When I tested it though the remote was extremely sluggish slow. It would take 3-4 button presses to get a response. I’ve tweaked it as much as I can and have reached a point where I am moderately happy with it. I thought I’d cover what I did here so others can try it out.
Installing the Aim IR605A/Q Receiver
To be honest Windows XP actually hated the AIM remote receiver and refused to install it. Out of the box the receiver works fine with Vista and Windows 7 as it is supported natively. Not so in XP. I downloaded the Update Rollup 2 for eHome Infrared Receiver for Windows XP Media Center Edition 2005 (KB912024) and tried to install that. After unpacking the files it would close saying that I had the wrong version of Windows as it was looking for the Media Center edition.
The simple fix is to cheat and manually grab the drivers out of the installers temp directory. Run the installer again and when you get the error popup, don’t click OK. Instead open My Computer and go to your C: drive. You will see a directory with a long alpha-numeric title. That is the temp one used by the eHome installer. Inside there is a directory called SP2QPE, copy that to your desktop. Now when you connect the MCE receiver and it prompts you to install drivers just point it to that directory and let it install the uncertified drivers. You will now have the device installed on the system.
All is still not well though as for me, nothing would happen when I’d press the remote buttons whilst XBMC was loaded. I got around that by using MediaPortals IR Server Suite. It auto-detected that I had an MCE remote hooked up. You can test the remote out by using IR Server Suites debug client utility and it’s Listen then Learn options. In the MCE plugin settings for IR Suite I told it to override the hardcoded buttons as without this the number pad and directional controls would not work.
Tweaking the Aim RC6 RC118 remote settings for the Harmony One
I’ve done a bunch of searching and it seems the Harmony One remote has a few short comings, one of these is that it has a minimum duration of 300ms for each transmission. On top of that it adds several user configurable delays as well as a repeat frequency. It took quite a bit of testing to get something workable, around 4 hours went into this and a lot of running up and down stairs!
The first step after the initial setup is complete is to re-learn the directional buttons. In XBMC you will be using up and down a lot to navigate. I read that if you do RAW learning then you will have an extra delay added onto the command that you can do nothing about. Just use the normal learning option. So on the Devices tab click Settings on your remotes tile menu. Then choose “Learn infared commands”. On the next page scroll down to DirectionLeft, DirectionRight, DirectionUp and DirectionDown, tick them all and then choose to re-learn them. Follow the onscreen process. Once that has completed just ok your way through all the confirmation screens, leave the remote connected. The way I see it is that at the start the software said it did not recognise the remote. Later it suddenly decides it does recognise it and you are supposed to trust that it will pick the best profile. By learning these keys myself I know for a fact that they are correct.
Now it’s time to adjust the repeat value. We do this before changing the delays as a side-effect of changing the repeat value is that the Harmony app automatically adjusts the delays without telling you. So start on the Devices tab. Select the “Troubleshoot” option for your remote control, then “Server responds to some commands either too many times or only occasionally.” on the next page. I set it to 3. Run through the “Update Device” procedure to get it onto the actual Harmony Remote. Again though, don’t bother disconnecting it yet. Using values of 4 or 5 meant that it would jump to many times. So I would scroll up once and it would actually scroll up twice.
Now back on the Devices tab choose the “Settings” option for your remote and then the “Adjust the delays (speed settings)” option. I set “Power On Delay”, “Inter-key Delay”, “Input Delay” and “Inter-Device Delay” to 0.
Now you can do the “Update Remote” option and disconnect it. The Harmony One still has a slow responce compared to the AIM RC118 remote but it is usable. I read that some other universal remotes don’t have the bad response time and that Logitech have stated that they can’t do anything about it with this remote. I’m not sure if the problem exists with their newer 900 model but I’m not going to spend £200 to find out ?
Edit: The proper solution!
So this is actually the second edit I’ve made in two days. Last night I posted that I had given up and reverted back to the original remote instead of the Harmony One. The delay was to random and sometimes it would seem to of stopped responding. I thought I’d filled the remotes command buffer and was freaking it out. So today I spent an hour or two searching for a better remote and to be frank, I couldn’t find one. I checked out Sonys lineup and Philips range and nothing seemed as good. They sure look nice but when you start googling “Philips Pronto Problem” you start to find lots of complaints and people saying how happy they are they switched to a Harmony One.
I decided to edit the Harmony settings and remove the MCE stuff since I wouldn’t be using it, but then I stopped myself and decided to have one more go. Repeat value wise I went with 1 as anything higher or lower meant it jumped to far or not at all. Once that was settled I then changed all my delays to 100. Too many people reported problems with 0 and since my main problem was that it was too slow I didn’t want to go higher like 500 which was the default. 100 seemed the most responsive without the buttons over-reacting. That pretty much got me back to the state I was in last night.
That’s when something interesting happened. I decided to break it all down into chunks. My media server is upstairs and my TV is downstairs. I use HDMI + Optical + IR over ethernet to send and receive signals in both directions, well video and sound down to TV and remote IR back up. I have the little IR broadcaster from the HDMI/ethernet extender sat about 10cm away from the AIM IR receiver dongle in the back of the server. So back to the interesting bit. I tried using the Harmony directly aimed at the AIM receiver with XBMC open and it worked. As in it worked flawlessly. When I tried that at the start it didn’t work properly at all and showed the same behaviour as I saw downstairs. My hunch at this point was that the delay and repeat values were incorrect to start with and really did require tweaking. This meant I had actually been struggling with two problems but not realised it. Now the first problem of the settings was sorted out it meant I was left with the second problem. If the remote worked upstairs but not downstairs then it indicates a problem with the IR over ethernet part of the equation.
I started searching for problems with IR extenders and slow responsiveness in general. A couple of times I found references to the signal strength sometimes overloading the receivers. Do you see where I’m going with this? I hope so! Remember earlier when I said “I have the little IR broadcaster from the HDMI/ethernet extender sat about 10cm away from the AIM IR receiver dongle in the back of the server” well it turns out that 10cm was the cause of my second problem. I think the Harmony One is sending a much stronger signal than the AIM RC6 remote. Because I put the extenders transmitter so close to the servers receiver it was getting overloaded. Well that was my hunch so I moved the two as far apart as I could (about 50cm) and went to test it. Awesome response time now. It does flid out if you go nuts and tap the button like 20 times quickly but I normally use Page Up and Page Down for navigation and then just a few Up and Downs to finish my nav.
So there you have it, a combination of the Harmony remotes delay and repeat values along with the IR receiver and transmitter being to close together. Now I’m a happy chappy. Tomorrow or later tonight I’ll start customising the button setup. Very happy chappy ?