HOW-TO:Setup your Harmony Remote for use with XBMC for Xbox

This HOW-TO contains information on how to configure your Logitech Harmony Remote with XBMC and how to program them to turn your XBOX On and Off if you have an Infrared-MOD installed on your Xbox.

General: Harmony Remote for use with XBMC
Note: This HOW-TO is written with a Harmony 680 in mind, as that is the remote I have. The concepts should apply to any Harmony remote. You'll just have to adjust the instructions to fit the buttons that are available on your remote. This HOW-TO assumes you know how to program your Harmony remote. If you need assistance with programming your Harmony remote, please refer to the Harmony website.

So, you've got XMBC all setup and running. You've got the Xbox DVD remote/IR receiver kit. You've configured your Harmony Remote to know about the Xbox, but everything doesn't work quite as you expected, does it?

First off, you're going to need to teach the Harmony a couple of commands that it doesn't know about. Use the Harmony tools to teach it 'Zoom' and 'Back'. Map the Back button to Back (the left arrow) on the Harmony. Feel free to map Zoom to a soft button or another button of your choice, I haven't found a use for it yet, so I don't have it mapped.

Next, you'll want to map a couple of the Xbox remote buttons to Harmony soft buttons. The two that I did were 'Title' and 'Display', as there is no equivilent button for those on the Harmony. You'll also probably want to map one for the XBMC context menu so you can add items to playlists. I haven't done this yet, so I don't have any guidance for you there. Perhaps someone else can fill that in.

The one thing I really wanted working was mapping Pageup and Pagedown in the GUI to Channel Up and Channel Down on the remote so I can page through 62 pages of music in My Music. This was tricky because the remote codes that Harmony has in their database for channel +/- (codes 32 and 34) aren't the same as XBMC is expecting (codes 210 and 211). This is due to the fact that XMBC is expecting the channel +/- codes from the Media Center Extender remote. To work around this, I taught the Harmony the channel +/- codes for a Sears TV from an old universal remote I had in a drawer. I called the new codes 'fakechannelup' and 'fakechanneldown'.


 * To have XBMC display the IR code number read when you press a button, set   to true in advancedsettings.xml
 * Get the code numbers for 'fakechannelup' and 'fakechanneldown'. Here the codes were 45 and 44.
 * Download and edit keymap.xml and add a   section for the new buttons at the top of the   section.
 * Upload your updated keymap.xml back to the XBMC directory on your Xbox and restart XBMC
 * Test the new configuration

For reference, here is a list of my current Harmony button mappings.

Thanks to KraqH3d for his help in the forums while I got this figured out.

Working

 * Microsoft XBox (about 55 Keys (some with equal code)/45 codes; in logitech categories: DVD, Playconsole, Playconsole with DVD, Laptop, Media Center)
 * Microsoft Xbox Media Center Extender (44 Keys; in logitech categories: Laptop, Media Center)
 * Microsoft H-10 (about 70 Keys/55 codes; in logitech categories: Satellite)
 * Microsoft MCE-500 (70 Keys; in logitech categories: Digital Cablebox, PVR)

They have quite different codes underlying. If you configure several devices for your harmony xbox activities you get even more codes (about 80)!

And if those keys/codes aren't enough for you look here: Pronto Universal Remote Hex Codes

Not working

 * Microsoft Wireless Media Extender for Xbox
 * Microsoft Remote Control 1039
 * Microsoft MP-945VX

The Problem:
Some Logitech Harmony Remotes don't allow real macro-programming. For example it is not possible on some Harmony Remotes to automatically run some button commands only with a single-button press. This is bad when you have a Infrared-MOD in your Xbox and can't turn your Xbox ON and OFF with a single button-press because the Infrared-MOD uses a special button combination (example: STOP-STOP-SELECT).

The Solution:

 * Just go to the Logitech Member Website and sign in
 * go to your XBOX Device and click on "More Options"
 * Now click on "Learn Infrared Signals"
 * Scroll down the whole list and click on the "Advanced Configuration" Button at the end of the page
 * Now you can create new commands and name them "PowerON" and "PowerOFF" or you can edit the existing commands
 * Be sure that you learn the new commands in BINARY MODE (Raw Mode)!! So click the "Learn Binary Commands" Button
 * Now just press the Button combination required for your XBox to turn on (example: STOP-STOP-SELECT - One Button after the other!)
 * Now you get an Error-Message that the command is too long. YOU CAN IGNORE this Error Message!
 * Just repeat the process with the buttons again (example: STOP-STOP-SELECT - One Button after the other!)
 * Now the command has been recognized!

Repeat the whole procedure for the "PowerOFF" Button and thats it! Now you can turn your Xbox ON and OFF with a single Button press.

Using Logitech Harmony Remote Software 7.3.2
With some Harmony Remotes, you can program the remote through Logitech's Oh-So-Friendly software. I assume you are capable of installing software if you were smart enough to find, download, and install XBMC. ;)

Before You Begin
In my setup, I have a:
 * Xbox (Modded with Xecuter 3, and Bios v3294)
 * XIR v2
 * Harmony 360 Remote (with Logitech Harmony Remote Software v7.3.2)

Setup Device
After completing setup of my Harmony Remote, I added my Xbox:
 * Devices -> Add Device
 * Game Console -> Game Console -> Microsoft -> Xbox
 * The software will bitch about not being able to use this device without additional hardware.
 * Select your Xbox (should be listed as "Game Console (With DVD)" -> Settings
 * Advanced setup for this device
 * I want to leave this device on all the time
 * One button on the remote for turning it both On and Off
 * My device needs more than one command to turn it on and off.
 * I don't have the original remote, but I know the commands that are used:
 * STOP
 * STOP
 * SELECT
 * Save

Setup Activity
I went to setup my activity next:
 * Activities -> "No - manually add an Activity to my setup."
 * Play Game -> Play Game (Using Xbox)
 * Walk though setting up the other devices as you see fit.
 * It will complain you cannot control the Xbox, accept the settings.

Afterthoughts
I had issues with this setup where it wouldn't turn on the other devices, but after hitting "Help", it would send the proper commands. So I know the setup worked for me. I played with changing the order in which the devices were powered on, and extending the delay between commands and it seemed to have worked much better. Don't get frustrated. The "ask a question for every single step and submit" is annoying but patience gets you through it.