[XBOX] HOW TO configure XBMC for Xbox and Logitech Harmony ONE Remote
#1
Exclamation 
Well i thought I would give some guidance as to how I have my One setup with XBMC & hopefully give somthing back to the community that never stops helping me.

The reason I have created a separate thread is that, whilst the majority of this HOW TO can be used for any Harmony Remote, the end shows how to take full advantage of the advanced Harmony One and its touch screen when using XBMC.

I also created this as i found it tedious to hunt through the forums\big threads about universal remotes, when I just wanted one for my remote & HOW to take full advantage of it. Well here goes how I've set it up....



Initiation

First and foremost when adding your XBOX as a device in the Harmony App, i just chose the normal XBOX + standard Remote (aka MicrosoftXbox). I know there are other remotes on the Logitech database which give like a thousand more buttons, but for me this was unnecessary. In saying that I was surprised when I added the standard remote, that some extra buttons were on the Logitech Database added to the standard remote. These are probably from another remote, but who cares, they are there, and these are the ones that I have used to setup my Harmony One perfectly.

What I always wanted, was a way to to just simply switch to my Movies Library\TV Shows Library\Pictures\Music at the "touch" of a button. I have achieved this and more with this awesome remote, and I'll show you what else is possible further down.

NOTE: This guide is not going to show you how to setup your amp\tv etc. The Harmony app is quite user friendly and you should be able to do this. This HOW TO is purely for the advanced settings required for XBMC & your Harmony One to work together.



1. Intro to Universal Remotes & XBMC

(READ ONLY SECTION, DONT HAVE TO DO ANYTHING)

Firstly big credit goes out to THESE GUYS as this was pretty much the only site that made sense of the foundation of setting up a Universal Remote for XBMC. Ignore the stuff at the start and jump straight to "Personalizing The Remote Buttons". What I had to do, was create a advancedsettings.xml in my UserData folder (HOW) so that it would show a special UNIQUE Code(obc code) on screen(in XBMC) with every button I pressed on my Harmony One.

How though?
This was achieved by adding <displayremotecodes>true</displayremotecodes> in the advancedsettings.xml.

So what I did, was go through & I pressed all these extra buttons that Logitech had in their database for the xbox (which were now also on my remote) and noted down the code that was displayed. Later on this would allow me to assign ACTIONS to these codes to be performed by XBMC

Note: I only noted down buttons(from the logitech DB) that WERE NOT used by XBMC. If I noticed an action was performed when i pressed a button I did not add it. Ill explain this more .....


2. The Codes

To save everyone alot of time, I have gone though ALL the extra buttons that are not used by XBMC and have noted their unique code Smile Dont stress it'll be explained how they are used later.


So with the above table in mind, EG:
  • when I pressed "HDMI" (a button that logitech added to my remote for the XBOX), the code: 5 was displayed in XBMC.
  • when I pressed the "3D" button, the code: 90 was displayed onscreen.
  • There was a strange occurance though, that being 3 buttons had the same Unique code; "PowerOn" and "PowerOff" and "Input VCR", they all displayed the same number : 58. All this means is I just have to pick one of these so that I can use the code 58 to perform an action in XBMC. As you guessed, ive used this code to turn off my xbox Big Grin

So with 16 spare codes, I was pretty sure this would be enough to do all the custom buttons\actions I wanted Big Grin


3. What actions do we want our remote to perform ?

Here is the fun part, choosing what you want your remote to do when you press a button, eg:
  • switch to Movies Library
  • switch to TV Shows Library
  • Restart XBMC etc etc...

Now the final list that I used, and what I wanted XBMC to do is:
  • Restart XBMC
  • Shutdown XBMC
  • Movies Library
  • TV Shows Library
  • Pictures
  • Music
  • File Manager
  • Shutdown Menu
  • Take Screenshot
  • Update Library (My favourite button Big Grin)
  • Eject Tray

Now to actually perform these, XBMC has specific commands that are needed so it knows that you want to eg Switch to Movies Library.



Now some are tricky, eg Movies library & TV Show Library. The only way i figured out how to actually go straight to these (as I use Media Stream skin) was to enable Debug Mode and follow how the skin gets to the Moves Library. I know this was far fetched and I could've done THIS but i cbf and just did it the long but sure way. Below is a list of what i wanted XBMC to do, and actually HOW XBMC does it:
  • Restart XBMC - XBMC.Reset
  • Shutdown XBMC - XBMC.ShutDown
  • Movies Library - XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return)
  • TV Shows Library - XBMC.ReplaceWindow(MyVideoLibrary,tvshowtitles,return)
  • Pictures - XBMC.ReplaceWindow(pictures)
  • Music - XBMC.ReplaceWindow(music)
  • File Manager - XBMC.ReplaceWindow(filemanager)
  • Shutdown Menu - XBMC.ReplaceWindow(ShutdownMenu)
  • Take Screenshot - XBMC.Takescreenshot
  • Update Library - XBMC.updatelibrary(video)
  • Eject Tray - XBMC.EjectTray()

Now that I knew how XBMC would do what I wanted, I now needed to edit my Keymap.xml to do all these lovely things....


4. Telling XBMC what to do \ Setting up Keymap.xml

So with all these codes (from Step 2) & all the XBMC commands\functions (from Step 3), I now needed to bring it ALL TOGETHER and tell XBMC what to do when i pressed a specific button.

Firstly we need to make a copy of the keymap.xml that is in our System folder (..\XBMC\system\keymap.xml) and copy it to our UserData folder, as this file will take precedence as it is in the User Data folder. I dont recommend altering the keymap in the system folder, why? because there's no need to touch the original & its a fallback if you screw up your copied\altered one that sits in UserData.

If you already have a copy of Keymap.xml in your UserData folder, sweet Smile Lets get editing....

Firstly we need to add a section <universalremote> so that XBMC knows, if we press a certain button on our Harmony One, what it should do(what command\function should it perform).

When you open up keymap.xml for editing, scroll down past all the comments which are at the top, until you get to the start:

Code:
[b]<keymap>
  <global>
    <remote>[/b]

Now just before the <remote> tag, we need to add a <universalremote> tag. This is how it should look:

Code:
[b]<keymap>
  <global>
    <universalremote>

    </universalremote>
    <remote>[/b]

This, my friends is where it all happens. This is where we now insert our CODES that we noted down (Step 2), AND our functions we want XBMC to perform (Step 3). This is how it is done:

Code:
[b]<universalremote>[/b]
  [b]<obc##>[/b][Command][b]</obc##>[/b]
  [b]<obc##>[/b][Command2][b]</obc##>[/b]
[b]</universalremote>[/b]
  • Where ## is, you should replace this with the unique CODE we had put down earlier in Step 2. The same line should obviously have the same code.
  • Where [command] is, you will replace it with the command that you have chosen.

Overall, I assigned all my buttons in the following configuration: CLICK HERE (The blank ones are spare buttons that I have not used) I highly recommend keeping a Table as I have done, so you remember what function is assigned to what code & what code is assigned to what BUTTON on the remote.

The Keymap.xml looks like this:

Code:
[b]<universalremote>[/b]
    [b]<obc5>[/b]XBMC.Reset[b]</obc5>[/b]
    [b]<obc58>[/b]XBMC.ShutDown[b]</obc58>[/b]
    [b]<obc90>[/b]XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return)[b]</obc90>[/b]
    [b]<obc118>[/b]XBMC.ReplaceWindow(MyVideoLibrary,tvshowtitles,return)[b]</obc118>[/b]
    [b]<obc83>[/b]XBMC.ReplaceWindow(music)[b]</obc83>[/b]
    [b]<obc117>[/b]XBMC.ReplaceWindow(pictures)[b]</obc117>[/b]    
    [b]<obc176>[/b]XBMC.ReplaceWindow(filemanager)[b]</obc176>[/b]
    [b]<obc71>[/b]XBMC.ReplaceWindow(ShutdownMenu)[b]</obc71>[/b]    
    [b]<obc80>[/b]XBMC.Takescreenshot[b]</obc80>[/b]
    [b]<obc144>[/b]XBMC.updatelibrary(video)[b]</obc144>[/b]
    [b]<obc64>[/b]XBMC.EjectTray()[b]</obc64>[/b]
    [b]</universalremote>[/b]

Now save this Keymap.xml and upload it to your UserData folder. Restart the Xbox. We havnt finished yet....
Reply
#2
Exclamation 
5. Finally Setting up the Harmony One

Now that XBMC has been taken care of, we finally have to make the remote look nice yeh ? Of coarse.

I assume you have already added your XBOX as a device in the Harmony App, and also assume you have already setup an Activity for your XBOX. I am now going to show you how to customise your remote to display the buttons we added above.

Firstly lets deal with how we want the remote to show these nice buttons as LABELS on the touch screen as soon as we run the XBOX MEDIA CENTER activity.

a) Click Customize Buttons: Screenshot
b) Click Additional Buttons Tab: Screenshot
  • As you can see I have made all my labels the names that I wanted to give in relation to the actions performed by XBMC.
  • The device column is saying, which Device in the Activity do you want to send this command to? Obviously the XBOX.
  • The Command is from Step 2, the buttons that I had tried, and then assigned a code in XBMC. Remember the table? Its handy to have

EG. Pressing the Movie label on the touch screen will send the 3D button command to the XBOX Device. Exactly what we want.
  • Then XBMC takes the 3D Button as OBC Code 90 (refer to table)
  • Then XBMC knows OBC90 as it is in the keymap we edited and therefor runs "XBMC.ReplaceWindow(MyVideoLibrary,movietitles,return)"

*NOTE: I also put in a label called DISPLAY(the button that actually is on the standard Xbox DVD Remote) as I didnt really want it as a physical button on my Harmony One. You dont have to have that, it was just a preference of myne.

c) Create a 2nd page of labels, as I have done: Screenshot

Save your modifications & Update the Remote.

All the above modifications you just completed will make your Harmony One look really smooth once it runs the Xbox Media Centre activity. For a look at what the end product looks like ive got some pics:

Turn on your XBOX then touch the Xbox Media Center activity:
Image

Once it turns on your TV\amp etc your remote will now show all your labels ready to go!! :-D :-D
Image

and touching the right arrow will take you to the second page of labels you created:
Image

ALL DONE!!!!


6. HOLD UP !! What about turning it off ??

Yep you can also turn off the XBOX when you press the power button on your Logitech Remote (which will obviiously also turn off all other devices TV/Amp etc)

a) Click the DEVICES tab in the Harmony App & click Settings on the XBOX Device: Screenshot

The following photos, select the check boxes as I have done:
b) Click Power Settings and click NEXT: Screenshot

c) Screenshot

d) Screenshot

e) Select "I dont have the remote but I know what the command is". Select NONE
Image

f) It will say that there is no command selected, select YES to continue:
Image

g) Off Button:
Image

The reason i have put all 3 buttons to press, was because it wasnt working when I had just PowerOff. I know it might be because of the delays etc, but instead I just told the remote to press all 3 buttons when turning off the Xbox just to be sure!!. (Remember before how all those 3 buttons had the same Unique Code, well I assigned that unique code(58) to turn off the xbox)


7. SMS JUMPING in Videos Library.....to counter button lag


CLICK HERE to jump to post





SAVE AND UPDATE REMOTE. FINAL FINAL DONE.
Reply
#3
Now i know - I HAVE TO BUY HARMONY ONE
Thanks for great tutorial!
Reply
#4
Nicely done katz
Reply
#5
cheers guys! I thought with 200+ views somthing was going and I had wasted my time!

lol
Got a Logitech Harmony ONE ? Click here for my XBMC Customization HOW TO
Reply
#6
Would this be possible with the AppleTV too??

That would be great......
Reply
#7
Hello! Is very nice to see this tutorial! I'm just looking for someone else using this remote whit XBMC.
I have an issue:
When i press arrows key to move in XBMC there is a noticeable delay. The remote can only send commands about every 0.4 seconds or so. You can also tell that this is true because if you press a button repeatedly, the remote buffer builds up, and the remote continues to send command many seconds after you have stopped pressing the buttons.
This problem make the navigation too slooooow. I know there is a dedicated option in the remote software, but setting interkey or interdevice delay to lower value don't resolve.
Obviously the xbox remote don't have this issue.
Nobody else notice this delay?
Help!
Reply
#8
I've got the Harmony 785 and the commands and my config are almost identical to yours, except that I use the Favourites windows constantly with the "XBMC.ActivateWindow(favourites)" command

Regarding turning off the xbox, I've configured mine to use the xbox "PowerOn" command and it powers off every time. No need for the three commands.

I'm very pleased with how my Harmony controls xbmc. Thanks for the great tutorial Katz.
Kodi Leia v18.6 Android | Sony Bravia KD-65X9000E
Kodi Leia v18.6 X86-64 | ASRock ION 330-BD Intel Dual Core Atom 1.6GHz | 4GB RAM | HDMI Display | Analogue Audio | Flirc IR
Reply
#9
joisey04 Wrote:Would this be possible with the AppleTV too??

That would be great......

Yep, that would make me buy one too....

Anyone pls?
Reply
#10
Thanks for the guide
Reply
#11
Has anyone used this guide and setup their harmony one with linux xbmc? If you have please let me know want to see how your LIRCmap and keymap look if different at all. Thanks
Reply
#12
Exclamation 
kompressor77 Wrote:Hello! Is very nice to see this tutorial! I'm just looking for someone else using this remote whit XBMC.
I have an issue:
When i press arrows key to move in XBMC there is a noticeable delay. The remote can only send commands about every 0.4 seconds or so. You can also tell that this is true because if you press a button repeatedly, the remote buffer builds up, and the remote continues to send command many seconds after you have stopped pressing the buttons.
This problem make the navigation too slooooow. I know there is a dedicated option in the remote software, but setting interkey or interdevice delay to lower value don't resolve.
Obviously the xbox remote don't have this issue.
Nobody else notice this delay?
Help!

Hey, unfortuinatly this delay is impossible to fix as far as I know. I know its tedious to skip through 300+ movies with the right button, as it slightly lags.

To fix this, I implemented the "SMS jump to letter" function.

If you are interested in this, I can add this to the guide if you like. Let me know.
Got a Logitech Harmony ONE ? Click here for my XBMC Customization HOW TO
Reply
#13
Thanks fo the answer!
Shore, I'm interested, this is a good idea.
Also shore is a shame that the excellent harmony one have this lack compared to the Xbox remote.
No one of the other component of my home theatre suffer this issue, is that due from the rf receiver?
After all i think the original remote and the One still have to stay together...Confused
Reply
#14
How painful is the delay on the Harmony One? Does this affect the other Logitech remotes? (785, 585??). Do you set this up online, or does it come with PC software? How many levels of touch-screen buttons can you have?

I've been looking for a multi-function remote for some time and this one looks interesting. Hard to beat the original Xbox remote for functionality though. The delay bothers me for some reason...
ZOTAC IONITX-D-E Intel Atom N330 Dual Core 1.6 GHz NVIDIA ION with LIVE on SSD (now updated to Nvidia Shield Pro (P2897)
Reply
#15
Exclamation 
kompressor77 Wrote:Thanks fo the answer!
Shore, I'm interested, this is a good idea.
Also shore is a shame that the excellent harmony one have this lack compared to the Xbox remote.
No one of the other component of my home theatre suffer this issue, is that due from the rf receiver?
After all i think the original remote and the One still have to stay together...Confused

Yep its got to do with the sh|t xbox dongle I believe, as it dosnt delay on any other devices. Well ive removed the old remote, as the jump to SMS kinda fixes my problem. I will put up the SMS guide tonight, at work at the moment.


KidKiwi Wrote:How painful is the delay on the Harmony One? Does this affect the other Logitech remotes? (785, 585??). Do you set this up online, or does it come with PC software? How many levels of touch-screen buttons can you have?

I've been looking for a multi-function remote for some time and this one looks interesting. Hard to beat the original Xbox remote for functionality though. The delay bothers me for some reason...

All Harmony remotes are affected.

The remote's are setup through the Harmony app installed on your PC. However this app, is actually a web-based interface.

I have only 2 pages of buttons on the XBMC Activity. You can have upto 6, which is a massive amount of buttons that you couldnt even fill.
Got a Logitech Harmony ONE ? Click here for my XBMC Customization HOW TO
Reply

Logout Mark Read Team Forum Stats Members Help
[XBOX] HOW TO configure XBMC for Xbox and Logitech Harmony ONE Remote3