EPISODE 3: Pairing the Harmony One with Remote Buddy

WARNING: WORK IN PROGRESS (DRAFT)

Pairing the remote buddy with either Plex or Boxee is a trivial process.

1. Select the "Home Theatre" activity in your Harmony One remote control (The one we setup in EP2).

2. With you mouse open either Boxee or Plex.

3. Select the Harmony input method.

Boxee


Plex


By selecting "Always Running" in one of them we configure the system in such way that when the "Play" button is pressed it opens either Boxee or Plex. We can also have of one of these apps opening up as soon as the computer starts, but just one.

This is nice yet we want with the touch of a button jump between features that may be inside different apps, not just one app.  We do this with another app called Remote Buddy.

In the Mini Harmony system, Remote Buddy works as an translator of button/key presses on the Harmony One (hard and soft) to actions taken by HTPC.

1. So please download and install Remote Buddy

2. After installation select "Preferences" in Remote Buddy.


3. We will now pair the Harmony Remote with RB so select "Hardware".


In the picture above we see an area on the left with list of all receivers available, while on the right we see their configuration. Each receiver accepts input from several emitters, in our case one emitter is an Harmony One remote control.

We know that the RB can recognize the Harmony as if we had 10 Apple remotes working in paralel. Unfortunately it does not recognize them automatically.

4. Most probably your Mac has a IR receiver built in, that is certainly the case of a Mac mini, so select the "BUILT IN IR RECEIVER" in the left area.


5. On the right select "Enable support or multiple remote controls" followed by select "Automatically newly found remotes to control this computer".


6. On your Harmony One select the "Home Theatre". This puts the Harmony One in a mode such that any button press is mapped to a Plex action as we have defined in EP1. This is necessary for your Mac and RB in particular to able to recognize the remote control.

7. Press each button of the Harmony until you see 10 entries in the "Pair with selected remote" panel.


Basically by pressing the buttons on the Harmony we are adding Apple remote controls. Each remote has an ID.

As we have said earlier, RB recognizes the Harmony One remote as 10 independent Apple remotes. This is such way that all the buttons of our Harmony One (both soft and hard keys) are spread across these 10 Apple remotes.

In the end we should have remotes with ID 150, 151, 152, 153, 154, 155, 157, 158, 158, 160 listed on the screen as in the picture above.

8. In RB we don't configure anything against the physical remotes that RB recognizes. So we need to add one logical remote on the right for each Apple remote on the left. 


We start by adding one by clicking the "+" button on the "Logical remotes" area and write "AR150".

9. Now that we have defined the logical remote "AR150" we will map it to a Apple remote on the right. So on the first line in the area "Pair with selected remote" (the one with ID 150),  click in the cell  "Mapped to logical remote" and select the AR150 logical remote that we have just defined.


10. Now repeat the steps 8 and 9 adding the rest of the logical remote controls (AR151, AR152, AR153, AR154, AR155, AR157, AR158, AR158, AR160) and mapping them to the respective apple remote. We need to get a picture like the following:


That is it. Now we have the RB paired with our Harmony One.

All this is necessary because unfortunately the RB does not have a predefined profile for the Harmony One remote control (Plex actions). Hope later versions will have this profile already set for us.

11. We will now map some keys of our Harmony One remote control, when in the "Home Theatre" activity, to some actions on our HTPC.  Just to get the feeling of it.

So please select "Mapping".


Has you can see in the picture we have two large areas. On the left we see a list of "Behaviours" and on the right we have mappings between the buttons and actions for each logical remote that we defined (and some more).

Like all "genious" type of software, Remote Buddy is a bit schizophrenic. It has multiple personalities depending how you see it, yet that is precisely why it is so powerful.

For us to understand it better we should know that what is shown on the left is nothing but a list of keymaps. A keymap being a simple list that defines a correspondence between a key or button in a keyboard (say a remote control keyboard) and an action in the HTPC.

By selecting a "Behaviour" on the left we indeed are selecting a keymap that is then presented on the right. I would say that "Behaviour" is not the most explicit name for the task, it should be "keymap".

Remote Buddy allow us to define a keymap for each application we want to control (and some more). To this it provides us with a set of predefined keymaps to control the applications that we may have already installed.

If you have installed Boxee and Plex you should see a Plex keymap and Boxee keymap on the left.


We can change the predefined keymaps but we can also create new ones. Furthermore, keymaps can be defined for other things but to control applications. We will use this feature later in EP4.

Now remember that we defined a logical remote for each of the 10 Apple remotes that RB recognized for our Harmony One. As we said earlier RB only works with logical remotes, so we have no explicit correspondence between the keys in the Harmony that we mapped to Plex actions, to keys of these logical remotes in Remote Buddy.

This is where the following info comes handy.


The figure above shows as how each Button/Plex-Action that we configured for the "Home Theatre" activity back in the Harmony One software to the keys in the logical remotes in Remote Buddy.

This is always the same irrespectively how we name the soft buttons in the Harmony.

For "hard buttons" it is easy to understand as the naming scheme for Plex actions follows closely the ones setup for the  Harmony. So when we press hard button "Menu" in our Harmony One,  it correspondes to the Plex action "Menu" , and by looking at the reference table above we are virtually pressing the "Menu" button on the logical remote "AR150".

[Harmony Button] -> [Plex Action] -> [Logical Remote Button]

Now for "soft buttons" we can name them anyway we would like in the Harmony. Remember that "Boxee" soft button that we have mapped to "Green" Plex action EP2? That's right, when we press the soft button "Boxee" defined in EP2 we are virtually pressing the "Left" button on the logical remote "AR159" since it maps to "Green" Plex action.  The name we give to the soft button does not matter, what matters is the Plex action we gave to it ("Green").

So the best way to configure this is start by using "Plex" names or all button and then change them as we would like. We haven't followed this practice and named two soft buttons as "Boxee" and "Plex" instead of "Green" and "Red" right away in EP1 for the sake of the tutorial. This may make things more difficult to understand for some people yet I hope not too much.

12. What we want now is to have Remote Buddy opening either Boxee or Plex when we press the "Boxee" or "Plex" soft-buttons in the Harmony One.

To this we know the following:

A. Each keymap in RB is either active or inactive.

B. If a keymap is inactive and the corresponding application is not running, activating the keymap by default opens the corresponding application.

C. If a keymap is inactive and the corresponding application is already running, activating the keymap brings the corresponding application to the front of any other.

D. For any key press, RB first looks in the Global keymap for the mapping. If none is found then it looks for it in the active keymap. Finally if no mapping is found it turns to the Default keymap.

Given the above all we need to do is then tell RB that when "Boxee"(AR159, Left) or "Plex" (AR159, Right) keys are pressed on our Harmony One  it should activate the keymap "Boxee" or "Plex" whatever is current active keymap.

The first thing we need where we will put our mapping.

Given the above our choice then the Global keymap since it is the first to handle anything irrespectively of any active keymap that may be active:

- Map the Left button of the logical remote AR159 to the action "Activate Boxee Behaviour".

- Map the Right button of the logical remote AR159 to the action "Activate Plex Behaviour".


Voila! We can now press the soft-button Plex and Boxee and see that both Plex and Boxee application start.

This is the end of episode 4. We have learned a lot I hope. Our Harmony One is paired with RB, we now understand the basics of RB and how it works. We also learned that the keys of our Harmony Remote are mapped not only to Plex actions but indirectly are also mapped to keys of logical Apple remotes in the RB. So we used this information to start both Plex and Boxee with a touch of a button.

Yet this isn't still what we would like. We would like that when Plex starts Boxee closes and vice versa. That is, to save resources we want only one HTPC app to be running at a time. Much like the iPhone works. To this we need to understand a but more about actions, but that is for the next episode.

All this indirection would be unnecessary if RB simply supported the Harmony remotes, making things easier for us. Oh well, we can only hope.

10 comments:

June 26, 2010 at 2:48 PM Anonymous said...

Great stuff...can't wait for the next episode!

June 28, 2010 at 4:53 AM Nick Stutzman said...

Very informative! Thanks again, and keep it up!

November 23, 2010 at 4:09 PM ornstedt said...

You could have the same basic config for all 10 remotes to obtain "standard" plex harmony support.

I.e
Defines each key -> Virtual button press: "key"

If one could only choose to import this for standard behaviour setting this setup would be very fast.

December 29, 2010 at 5:49 AM MrPete said...

With all the improvements in the Mac Mini software (Plex, etc) it appears these tutorials can soon be simplified!

But hey, someone has to do it the "hard way" to make it easier for others. Just like Real Programmers used to have to program in assembly language :)

THANK YOU!

December 29, 2010 at 6:30 AM Nuno Lopes said...

The question is no so much in getting Plex to work with the Harmony. The solutions for that is trivial since Plex supports this remote directely

The question is how to get the Harmony work across all media apps in and out Plex, in and out the mac in such way all functionality seams more or less integrated.

I believe has more apps are built towards the TV has they are for the Phone and Tablets, instead of having one app rules them all, what we will have is a simple navigation (a la iPhone and iPad) across many apps.

Imagine an App just for Movies. Another just for Series, another just for Photos etc etc.

Add that an App Store ...

Unfortunately Plex hasn't gone in that direction as I suggested last year.

Apple TV is still too limited so there is still time.

January 4, 2011 at 1:27 PM Plaksnor said...

Great tutorial! This really completes my theatre.

I got a question about the Harmony / Logical remote table tho. My Plex button is mapped to GREEN, so it should respond to AR159 RIGHT, right? :) In my situation it responds to AR154 RIGHT. I've double checked my AR154 remote is not mapped to AR159 or vice versa (in Remote Buddy tab: Hardware), but that's not the case.

- Is it possible I got some other kind of keymap? Or maybe even better than that:
- Is there a way to get a list of my actual keymap/table, without figuring out key by key?

Thanks in advance!

January 4, 2011 at 1:53 PM Plaksnor said...

Sorry, already found the cause:
I got confused with Favorite Channels (which sends channels, in my case 014 for going to Movies) and Customized Buttons (which sends commands, in my case starting Plex) in the Logitech software.
My bad!

February 5, 2011 at 11:20 AM Ryan said...

I get to step 7 and nothing comes up. I press "Home Theater" activity and the remote registers the correct menu, but Remote Buddy won't read a thing. I have it at the exact same screen with the same check boxes checked. I don't have the "disable receiver" checkbox checked either.

Any thoughts?

I know it's transmitting because my MacBook Pro keeps bringing up iTunes when I click buttons on my Harmony Remote. So my laptop thinks there's an Apple Remote trying to access it. But my Mac Mini doesn't render a thing (in RB's pref hardware window or otherwise).

Looking for tips on how to debug.

February 5, 2011 at 11:30 AM Ryan said...

Cancel that... I had a non-default setting in my System Preferences under Security that disabled non-paired remotes. Fixed.

July 30, 2011 at 9:09 AM Abe said...

First of all this is a great site, exactly what i was looking for cant believe i too so long to find it .. I have a question.. How do you link the favorites to a behaviour like channel 014 to XBMC movies .. and after i did all this my XBMC is acting weird like i press pause it stops and i pres stop it pause ..i double checked all the commands both in Logitech and RB but they have the right commands.. Thanks for your help.

Post a Comment