Harmony Support
From Plex
Contents |
Setting up multiremote Harmony Remote support.
Note: These instructions were written with a Logitech Harmony 525 remote in mind. If you have a different model, then you may need to deviate slightly.
Step 1 - Setting up the remote
I like to have my remote setup so I can hit "Plex" Activity and have the remote start Plex/wake plex from sleep. When I hit power off I have it automatically sleep the mac. You may want to change this if you want different behaviour.
In the Harmony software:
- Add the new device.
Go to the "Devices" tab. Add a new device by clicking on the "Add Device" Button. Select the following: Device: Media Center PC Manufacturer: Plex Model: Plex Player
Note: Do not use the example "Plexapp" name. You must use the "Plex Player" model name. Click through the next buttons until you get back to the Devices Tab. You should now see your new device. (Will be Media Center PC or maybe something like Media Center PC 2 if you have other devices in place.)
- Rename the device:
Click Settings on the newly added device. Select "Rename this device" Name the device. I went with "Media Center" Click Done.
- Customise the device buttons:
Since not all of the remotes are the same, you may need to tweak the default settings for the button maps. From the Settings page, this time select "Customize Buttons" On the "Standard Buttons" tab, ensure that everything is mapped as you want. Its all pretty straight forward since we named the codes the same as the button we wanted them mapped to.
Please see the button table below for details of all the button codes. We've covered all the standard buttons, some common functions (aspect, power, sleep, etc), and also provided F1->F14 if you need to map something else that we've missed or have more buttons on your remote. You should have plenty! :)
Over on the "Additional Buttons" you've got plenty of space to configure the extra functions as you need. When you are done, go back to the main screen by following the Next / Done buttons.
- Setting up the activity:
Go to the "Activities" tab. Click "New Activity" These steps will vary greatly depending on your setup, so you're kinda on your own here... I use the "Watch DVD" base Activity and customise from there. Make sure you select the Plex Media Center device!
- Optional:
As I mentioned above, I like to have my remote start / sleep Plex for me. To do this you will need to adjust the power settings of the Media Center PC device within the Harmony software.
Go to the "Devices" tab and select the previously added Media Center PC device -> Configuration:
Then select: Adjust power settings;
Then choose; I want to turn off this device when it's not in use;
Next choose: A button on the remote for ON, and a different button for OFF;
Next: I don't have the original remote, but I know the command that is used: Select: Play
Next: I don't have the original remote, but I know the command that is used: Select: Sleep
That's it! Now pressing the play button on your Harmony remote automatically wakes the Mac and launches Plex and pressing the "Off" button makes is sleep.
- Rename the Activity.
Lets face it, we don't want "Watch a video" as our activity name, so change the activity name to something cool like "Plex". Select settings button on the new activity. Then select "Rename this Activity". And change it as you see fit.
- Customise the Activity Buttons.
At least for me the Logitech setup doesn't do too well with my Activity button mapping, so you'll want to review this and make changes as you see fit. Select "Customize Buttons" on the new activity Make the required changes - don't forget the "Additional Buttons" tab for all you custom needs Select done
- Update your remote by hitting the update button and following the prompts.
Step 2 - Setting up Plex
Until you tell Plex that you are using the new profile, you will notice your remote will do pretty whacky things. Basically the only buttons that will make sense will be the up/down/left/right, menu and play buttons.
We've got an extra option in Plex for this remote profile in the system -> Input devices section. So... Start Plex. Navigate to "Configure the System" -> System -> Input Devices Select "Harmony Remote" in the "Apple Remote Mode" option Ensure that the "Always on" option is selected.
You should now be good to go with your new fancy remote profile!
NOTE: You may need to UNPAIR the remote from the Mac, since the Harmony profile simulates multiple (not just one) remote.
[i]To delete a pairing between the remote and your Mac, open System Preferences, click Security, and then click Unpair in the Security pane. (You may have to enter your Administrator password to make changes in the Security pane.)[/i]
Step 3 - ** optional ** Configuring your keymap xml file
We have a whole new remote type setup in Plex to handle this new profile. You can find the global keymapping for this remote type in Harmony.xml If you wish to change the default behaviour you can put a Harmony.xml file in the usual location: ~/Library/Application Support/Plex/keymaps/harmony.xml
The remote name in this file is called "harmonyremote" so your adaptions will have to follow the following convention:
<keymap> <global> <harmonyremote> ... </harmonyremote> </global> </keymap>
Table of button mappings:
| Physical Remote Button | Code name | Keymap name |
|---|---|---|
| (as per 525 remote) | (in Logitech db) | (what you use in Harmony.xml) |
| Up | DirectionUp | up |
| Down | DirectionDown | down |
| Left | DirectionLeft | left |
| Right | DirectionRight | right |
| OK | Ok(OK) | ok |
| Vol+ | VolumeUp | volumeplus |
| Vol- | VolumeMinus | volumedown |
| Ch+ | ChannelPlus | channelplus |
| Ch- | ChannelMinus | channelminus |
| Guide | Guide | guide |
| Info | Info | info |
| Exit | Exit | exit |
| Menu | Menu | menu |
| Mute | Mute | mute |
| Prev | Prev | prev |
| Stop | Stop | stop |
| Replay | SkipBackward | replay |
| Skip | SkipForward | skip |
| Play | Play | play |
| Record | Record | record |
| Rew | Rewind | rewind |
| Fwd | FastFoward | forward |
| 1 | 1 | one |
| 2 | 2 | two |
| 3 | 3 | three |
| 4 | 4 | four |
| 5 | 5 | five |
| 6 | 6 | six |
| 7 | 7 | seven |
| 8 | 8 | eight |
| 9 | 9 | nine |
| 0 | 0 | zero |
| * clear | Clear | clear |
| # enter | Enter | enter |
| red | Red | red |
| green | Green | green |
| yellow | Yellow | yellow |
| blue | Blue | blue |
Extra codes (no physical button)
| Physical Remote Button | Code name | Keymap name |
|---|---|---|
| F1 | F1 | f1 |
| F2 | F2 | f2 |
| F3 | F3 | f3 |
| F4 | F4 | f4 |
| F5 | F5 | f5 |
| F6 | F6 | f6 |
| F7 | F7 | f7 |
| F8 | F8 | f8 |
| F9 | F9 | f9 |
| F10 | F10 | f10 |
| F11 | F11 | f11 |
| F12 | F12 | f12 |
| F13 | F13 | f13 |
| F14 | F14 | f14 |
| Power | PwrToggle | power |
| Sleep | Sleep | sleep |
| Aspect | Aspect | aspect |
| Queue | Queue | queue |
| LargeUp | LargeUp | largeup |
| LargeDown | LargeDown | largedown |
Note: The following keys/codes are mapped such that they will start Plex if pressed while Plex is not running:
Play, Pause, Sleep, Menu, PwrToggle, Enter
Descriptions of various macros can be found on the following XBMC pages:
- http://wiki.xbmc.org/?title=List_of_Built_In_Functions
- http://wiki.xbmc.org/?title=Window_IDs
- http://wiki.xbmc.org/?title=Opening_Windows_and_Dialogs
Step 4 - ** optional ** Configuring Delays
The Harmony remote is slow and unreliable without a few minor tweaks. Thanks to jv4779, there's a way to make it a bit faster and a lot more reliable. Here's the data:
- Apple remote: 157-200 ms
- Harmony (1 retries, 0 ms inter-key delay): 176 ms (not reliable at all)
- Harmony (1 retries, 100 ms inter-key delay): 272 ms (reliable)
- Harmony (3 retries, 0 ms inter-key delay): 370 ms (not very reliable on up/down)
- Harmony (3 retries, 100 ms inter-key delay): 480 ms (reliable)
And here's the secret:
- Set the inter-key delay to 100ms.
- Click on Troubleshoot" for the Plex device
- "See more options"
- "Plex doesn't appear to receive every command correctly"
- "The device responds too much to some commands"
- Set the retry count to 1 instead of 3.
- Click "Yes" when it asks if you'd like to update the remote now (if not, it won't save it).
Step 5 - ** optional ** Configuring 'JumpSMS' to browse listings by letter
(As of Plex 0.7.14 this support is built in and does not need to be explicitly included in the harmony.xml file.) Add the following to your ~/Library/Application Support/Plex/keymaps/harmony.xml file:
<MyMusicFiles> <harmonyremote> <two>JumpSMS2</two> <three>JumpSMS3</three> <four>JumpSMS4</four> <five>JumpSMS5</five> <six>JumpSMS6</six> <seven>JumpSMS7</seven> <eight>JumpSMS8</eight> <nine>JumpSMS9</nine> </harmonyremote> </MyMusicFiles> <MyVideoLibrary> <harmonyremote> <two>JumpSMS2</two> <three>JumpSMS3</three> <four>JumpSMS4</four> <five>JumpSMS5</five> <six>JumpSMS6</six> <seven>JumpSMS7</seven> <eight>JumpSMS8</eight> <nine>JumpSMS9</nine> </harmonyremote> </MyVideoLibrary> <MyVideoFiles> <harmonyremote> <two>JumpSMS2</two> <three>JumpSMS3</three> <four>JumpSMS4</four> <five>JumpSMS5</five> <six>JumpSMS6</six> <seven>JumpSMS7</seven> <eight>JumpSMS8</eight> <nine>JumpSMS9</nine> </harmonyremote> </MyVideoFiles> <MyMusicLibrary> <harmonyremote> <two>JumpSMS2</two> <three>JumpSMS3</three> <four>JumpSMS4</four> <five>JumpSMS5</five> <six>JumpSMS6</six> <seven>JumpSMS7</seven> <eight>JumpSMS8</eight> <nine>JumpSMS9</nine> </harmonyremote> </MyMusicLibrary>