Harmony Support

Harmony Support

From Plex

Jump to: navigation, search

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:

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>