[Apple TV] Logitech Harmony Remote support with XBMC for AppleTV?

  Thread Rating:
  • 0 Votes - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
MaestroDD Offline
Team-XBMC Developer
Posts: 629
Joined: Jul 2008
Reputation: 0
Location: Mannheim, Germany
Post: #61
Plan9 Wrote:Now that you have got it working through some trial-&-error, could you type up a little step by step, of which files to place where?

I have a Pronto remote, and would love to utilize these commands.
For now you have to download the fixed version of xbmchelper from this thread and overwrite the old in /Applications/MultiFinder.app/Contents/Resources/. To use it a Launcher 2.x is required.
A new version of Launcher with the fixed xbmchelper included will appear soon.

The UniversalMode wiki page should help to set this stuff up.


Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules. If you don't have the time to read them, please don't take the time to post in this forum!
For troubleshooting and bug reporting please make sure you read this first.
find quote
Plan9 Offline
Junior Member
Posts: 27
Joined: Feb 2009
Reputation: 0
Post: #62
Cool, I got it working. Smile

Now to try to get my old ProntoPro remote to do a Menu hold in a macro. Sad
find quote
BladeRnR Offline
Junior Member
Posts: 8
Joined: Feb 2009
Reputation: 0
Post: #63
Hello,

With default installation files would this explain why I cannot get the "Context" Menu to show? The online menu suggests it's Menu {Hold} and I have tried this everywhere (Base menu, inside 'Video' Menu) with no success.

With no Context Menu I can't Set Content for any Source.

Regards

Blade
find quote
davilla Offline
Retired-Team-XBMC Developer
Posts: 11,479
Joined: Feb 2008
Reputation: 64
Post: #64
BladeRnR Wrote:Hello,

With default installation files would this explain why I cannot get the "Context" Menu to show? The online menu suggests it's Menu {Hold} and I have tried this everywhere (Base menu, inside 'Video' Menu) with no success.

With no Context Menu I can't Set Content for any Source.

Regards

Blade

versions people, there are too many variables to guess a solution nor more important fix the original problem.


MediaInfo : http://mediainfo.sourceforge.net/
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
find quote
davo Offline
Junior Member
Posts: 24
Joined: Dec 2008
Reputation: 0
Location: Australia
Post: #65
I'm not quite following this thread well enough to understand what is required to get those extra functions working on my Harmony 525. All I really want to be able to do is add bigstepforward/back functions to my harmony. But I havent got it working yet....

Some step-by-step instructions would really be helpful. Smile So I thought I'd make a start on this...

1. Download the fixed version of xbmchelper from this thread and overwrite the old version in /Applications/MultiFinder.app/Contents/Resources/.
[INDENT]
Does the latest Launcher now include the fixed xbmchelper? i.e is this step now unnecessary?
[/INDENT]

2. Enable universal mode in Launcher Settings

3. Modify your keymap, in ~/Library/Application Support/XBMC/userdata/

Make you own, or start with the code here:

http://code.google.com/p/atv-xbmc-launch...versalMode

4. Teach your Harmony the raw IR signals from your appletv remote


I'm sure I'm missing stuff here... please add/modify Smile




MaestroDD Wrote:For now you have to download the fixed version of xbmchelper from this thread and overwrite the old in /Applications/MultiFinder.app/Contents/Resources/. To use it a Launcher 2.x is required.
A new version of Launcher with the fixed xbmchelper included will appear soon.

The UniversalMode wiki page should help to set this stuff up.
find quote
MaestroDD Offline
Team-XBMC Developer
Posts: 629
Joined: Jul 2008
Reputation: 0
Location: Mannheim, Germany
Post: #66
davo Wrote:I'm not quite following this thread well enough to understand what is required to get those extra functions working on my Harmony 525. All I really want to be able to do is add bigstepforward/back functions to my harmony. But I havent got it working yet....

Some step-by-step instructions would really be helpful. Smile So I thought I'd make a start on this...

Good idea, thanks!

davo Wrote:1. Download the fixed version of xbmchelper from this thread and overwrite the old version in /Applications/MultiFinder.app/Contents/Resources/.
[INDENT]
Does the latest Launcher now include the fixed xbmchelper? i.e is this step now unnecessary?
[/INDENT]

yep, still necessary. It's included in Launcher 3.0beta which we announced for testing but didn't get much response yet :/

davo Wrote:2. Enable universal mode in Launcher Settings

3. Modify your keymap, in ~/Library/Application Support/XBMC/userdata/

Make you own, or start with the code here:

http://code.google.com/p/atv-xbmc-launch...versalMode

4. Teach your Harmony the raw IR signals from your appletv remote


I'm sure I'm missing stuff here... please add/modify Smile

5. Teach your Harmony the combinations you've added to keymap.xml.

Other than that it looks quite complete.

cheers,
mdd


Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules. If you don't have the time to read them, please don't take the time to post in this forum!
For troubleshooting and bug reporting please make sure you read this first.
find quote
aedile Offline
Junior Member
Posts: 41
Joined: Feb 2009
Reputation: 0
Location: San Antonio, TX
Post: #67
Greetings,

I am having mixed results using my URC MX-3000. Here is what I have done so far:

1. Downloaded the new xbmchelper in this thread and copied it over the old one here:
/Applications/MultiFinder.app/Contents/Resources/

2. Uploaded latest version of my Keymap.xml

3. tail -f on the console.log file and went to town


Here are some of my results:

Keymap:
<!-- hold menu, play--> <button id="20">SkipNext</button>
Console Log:
2009-03-19 22:47:50.719 xbmchelper[250] (pressed) Menu holding
2009-03-19 22:47:50.799 xbmchelper[250] (released) Menu holding
2009-03-19 22:47:51.032 xbmchelper[250] (pressed) Play
2009-03-19 22:47:51.033 xbmchelper[250] (released) Play
Results:
Seems to work. Not sure if it actually skipped to a new chapter but it did skip ahead.

Keymap:
<!-- hold menu, right--> <button id="21">SkipPrevious</button>
Console Log:
2009-03-19 22:49:26.098 xbmchelper[250] (pressed) Menu holding
2009-03-19 22:49:26.167 xbmchelper[250] (released) Menu holding
2009-03-19 22:49:26.209 xbmchelper[250] (pressed) Right
2009-03-19 22:49:26.465 xbmchelper[250] (released) Right
2009-03-19 22:49:26.966 xbmchelper[250] [ERROR] XBMCClientWrapperImpl::sendSequence: No mapping defined for sequence 1434
Results:
Nothing Happens

Keymap:
<!-- hold menu, play, menu--> <button id="31">ShowVideoMenu</button>
Console Log:
2009-03-19 22:50:52.420 xbmchelper[250] (pressed) Menu holding
2009-03-19 22:50:52.477 xbmchelper[250] (released) Menu holding
2009-03-19 22:50:52.728 xbmchelper[250] (pressed) Play
2009-03-19 22:50:52.730 xbmchelper[250] (released) Play
2009-03-19 22:50:53.274 xbmchelper[250] (pressed) Menu
2009-03-19 22:50:53.274 xbmchelper[250] (released) Menu
Results:
Weird stuff, skipped ahead and brought up the home menu over the video I was watching.

As you can see, there are three different results. Has anyone gotten a consistent response on three button combinations? It seems as if two button combos work a little more consistently for me.

Also, how are you guys getting the [DEBUG] stuff in your console.log files. I haven't been able to figure that out from the thread.

Thanks,
-aedile-
find quote
davo Offline
Junior Member
Posts: 24
Joined: Dec 2008
Reputation: 0
Location: Australia
Post: #68
....
(This post was last modified: 2009-03-21 01:56 by davo.)
find quote
davo Offline
Junior Member
Posts: 24
Joined: Dec 2008
Reputation: 0
Location: Australia
Post: #69
I've completed the first three steps, but my Harmony 525 seemed unable to learn a command with a duration. I.e when trying to get the 525 to learn *left hold* it only recognises it as *left*. Logitech support have since confirmed that the 525 can't learn a command with a duration.

This seems strange, since the ATV/XBMC has no problem distinguishing between pause hold and menu hold. Any ideas?

If not, I guess I am in the market for a new universal remote. So am interested to hear which remotes others have programmed successfully?
find quote
aedile Offline
Junior Member
Posts: 41
Joined: Feb 2009
Reputation: 0
Location: San Antonio, TX
Post: #70
This doesn't seem to agree with my experience. The way I am showing it, Apple Remote doesn't even send a left command when doing the left hold. Left command is sent only when you press and release the left button within a certain time frame. When you do a left hold command it doesn't send three seconds of the left button, but rather a discrete command that tells the ATV a left hold is happening. When I press the captured left hold button it takes the same amount of time as a regular left on my MX-3000. My experience is less than a second to actually capture the hold command.

Hope this helps. Let us know how it turns out.

-aedile-
find quote
FreddieD Offline
Junior Member
Posts: 5
Joined: Mar 2009
Reputation: 0
Post: #71
Hi there, just wanted to add my two cents. I have it working on my harmony remote... for the most part. But, it seems to act as if it has two different modes, which I'll call "universal" and "regular". Hitting a universal button while in regular mode causes that specific button to fail (the menu_hold is not recognized but it's followup commands are) but it will then put it in "universal" mode. While in universal mode, universal commands will work but if I hit a non universal button (say, the center play button), that button will not work but then put it back in "regular" mode.

I hope I am making sense in describing this. Here is a console log which might give a better explanation. For purposes of this example, we're starting out in universal mode. I hit my universal pause button (which works):

Code:
2009-03-22 04:58:45.527 xbmchelper[189] (pressed) Menu holding
2009-03-22 04:58:45.527 xbmchelper[189] [DEBUG] Starting sequence with token 14
2009-03-22 04:58:45.527 xbmchelper[189] (released) Menu holding
2009-03-22 04:58:45.939 xbmchelper[189] (pressed) Volume up
2009-03-22 04:58:45.939 xbmchelper[189] [DEBUG] Extended sequence to 149
2009-03-22 04:58:46.105 xbmchelper[189] (released) Volume up
2009-03-22 04:58:46.105 xbmchelper[189] [DEBUG] Discarded button up event for sequence
2009-03-22 04:58:46.314 xbmchelper[189] (pressed) Volume up
2009-03-22 04:58:46.314 xbmchelper[189] [DEBUG] Extended sequence to 1499
2009-03-22 04:58:46.405 xbmchelper[189] (released) Volume up
2009-03-22 04:58:46.406 xbmchelper[189] [DEBUG] Discarded button up event for sequence
2009-03-22 04:58:46.907 xbmchelper[189] [DEBUG] XBMCClientWrapperImpl::sendSequence: sent sequence 1499 as button 35

A few seconds later I hit the middle pause/play button (or in my case, the OK button). Because I am in this universal mode, it does NOT work:

Code:
2009-03-22 04:58:51.055 xbmchelper[189] Unknown button for cookiestring 22_15_9_15_9_

Now at this time we are in regular mode, so I hit the same pause button, but it errors out on the menu_hold portion:

Code:
2009-03-22 04:58:55.690 xbmchelper[189] Unknown button for cookiestring 22_15_6_15_6_
2009-03-22 04:58:56.138 xbmchelper[189] (pressed) Volume up
2009-03-22 04:58:56.301 xbmchelper[189] (released) Volume up
2009-03-22 04:58:56.525 xbmchelper[189] (pressed) Volume down
2009-03-22 04:58:56.688 xbmchelper[189] (released) Volume down

At this point it appears to be back in the universal mode, and hitting this universal button again now succeeds:

Code:
2009-03-22 04:58:59.473 xbmchelper[189] (pressed) Menu holding
2009-03-22 04:58:59.473 xbmchelper[189] [DEBUG] Starting sequence with token 14
2009-03-22 04:58:59.473 xbmchelper[189] (released) Menu holding
2009-03-22 04:58:59.923 xbmchelper[189] (pressed) Volume up
2009-03-22 04:58:59.924 xbmchelper[189] [DEBUG] Extended sequence to 149
2009-03-22 04:59:00.085 xbmchelper[189] (released) Volume up
2009-03-22 04:59:00.085 xbmchelper[189] [DEBUG] Discarded button up event for sequence
2009-03-22 04:59:00.308 xbmchelper[189] (pressed) Volume down
2009-03-22 04:59:00.308 xbmchelper[189] [DEBUG] Extended sequence to 14911
2009-03-22 04:59:00.471 xbmchelper[189] (released) Volume down
2009-03-22 04:59:00.471 xbmchelper[189] [DEBUG] Discarded button up event for sequence
2009-03-22 04:59:00.972 xbmchelper[189] [DEBUG] XBMCClientWrapperImpl::sendSequence: sent sequence 14911 as button 36

I guess my first question would be, what that specific "Unknown button for cookie string" error is. Searching through these forums, I found a cookie string error starting with 280_ but not one for this 22_ code. Any ideas or clues? This is really not a deal breaker or anything, I'm just trying to make it as "wife proof" as I can, because she does not share my enjoyment of bleeding edge technologies (as well as the beta-level tweaking that goes with it) Smile

One last thing that might be purely coincidental but probably worth mentioning. I found that putting my Keymap.xml in the URL listed earlier in this thread (~/Library/Application Support/XBMC/userdata/) did not seem to work. Instead, I modified the existing Keymap.xml in /Applications/XBMC.app/Contents/Resources/XBMC/system/Keymap.xml and added the universal commands found in the atv-xbmc-launcher wiki. I was able to verify it was reading the Keymap.xml from there because I temporarily changed my up arrow to go down instead, and it behaved as expected.

Below are all the specs I can think of for my environment. Thanks!

Logitech Harmony 890 Remote
AppleTV version 2.1
XBMC Atlantis bf1
Launcher 2.3
The latest xbmchelper from the URL in this thread copied over to /Applications/MultiFinder.app/Contents/Resources/
find quote
MaestroDD Offline
Team-XBMC Developer
Posts: 629
Joined: Jul 2008
Reputation: 0
Location: Mannheim, Germany
Post: #72
FreddieD Wrote:Hi there, just wanted to add my two cents. I have it working on my harmony remote... for the most part. But, it seems to act as if it has two different modes, which I'll call "universal" and "regular". Hitting a universal button while in regular mode causes that specific button to fail (the menu_hold is not recognized but it's followup commands are) but it will then put it in "universal" mode. While in universal mode, universal commands will work but if I hit a non universal button (say, the center play button), that button will not work but then put it back in "regular" mode.
[...]
I guess my first question would be, what that specific "Unknown button for cookie string" error is. Searching through these forums, I found a cookie string error starting with 280_ but not one for this 22_ code. Any ideas or clues? This is really not a deal breaker or anything, I'm just trying to make it as "wife proof" as I can, because she does not share my enjoyment of bleeding edge technologies (as well as the beta-level tweaking that goes with it) Smile

I'm not sure what causes this but as a workaround, you could add another button press at the end of each sequence, ofc with a pause >500ms in between. Say you want a macro with MENU_H, Play,Play, you program this into you Harmony but add another Play press after a timeframe > 500ms. From what I understand, this should bring your Hamony back to "regular" mode. Maybe others with a working Harmony setup can comment?

About the "Unknown button for cookie string":
We're extracting raw ir cookies when in MultiFinder mode and if the remote sends something which isn't understood by xbmchelper it logs those errors. This happens e.g. with paired as well as learned remotes.
With Launcher 3.0beta, Universal-Mode is fixed inside, so no need for external xbmchelper. In that case we rely on IR-cookie decoding from the ATV, and this, ofc, supports learned remotes etc.

FreddieD Wrote:One last thing that might be purely coincidental but probably worth mentioning. I found that putting my Keymap.xml in the URL listed earlier in this thread (~/Library/Application Support/XBMC/userdata/) did not seem to work. Instead, I modified the existing Keymap.xml in /Applications/XBMC.app/Contents/Resources/XBMC/system/Keymap.xml and added the universal commands found in the atv-xbmc-launcher wiki. I was able to verify it was reading the Keymap.xml from there because I temporarily changed my up arrow to go down instead, and it behaved as expected.

xbmc.log should mention if Keymap.xml gets picked up or not.


Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules. If you don't have the time to read them, please don't take the time to post in this forum!
For troubleshooting and bug reporting please make sure you read this first.
find quote
FreddieD Offline
Junior Member
Posts: 5
Joined: Mar 2009
Reputation: 0
Post: #73
Thanks for the idea, I should be able to add another button press as a workaround. I've read on these and other forums that the Harmony's raw IR input only allows a maximum of 5 commands so i'll probably just use a straight menu_hold (i.e. "menu_hold, <3 button menu_h universal key>, play button", with the understanding that the first menu_hole and last play button will fail).

MaestroDD Wrote:About the "Unknown button for cookie string":
We're extracting raw ir cookies when in MultiFinder mode and if the remote sends something which isn't understood by xbmchelper it logs those errors. This happens e.g. with paired as well as learned remotes.
With Launcher 3.0beta, Universal-Mode is fixed inside, so no need for external xbmchelper. In that case we rely on IR-cookie decoding from the ATV, and this, ofc, supports learned remotes etc.

Just wanted to get quick clarification. When you say learned remotes, are you speaking of physical universal remotes such as the Harmony, or are you referring to the remote learning feature that is new to AppleTV v2.3? I'm assuming it is the former, but if it is the latter then I would probably just upgrade Launcher and AppleTV to those versions so I can completely sidestep these menu_hold timing workaround techniques, because I could make use of the buttons like play, pause and stop directly through AppleTV's built in feature.

Thanks again!
find quote
MaestroDD Offline
Team-XBMC Developer
Posts: 629
Joined: Jul 2008
Reputation: 0
Location: Mannheim, Germany
Post: #74
FreddieD Wrote:[...]

Just wanted to get quick clarification. When you say learned remotes, are you speaking of physical universal remotes such as the Harmony, or are you referring to the remote learning feature that is new to AppleTV v2.3? I'm assuming it is the former, but if it is the latter then I would probably just upgrade Launcher and AppleTV to those versions so I can completely sidestep these menu_hold timing workaround techniques, because I could make use of the buttons like play, pause and stop directly through AppleTV's built in feature.
Sorry about beeing unclear. With learned remotes I meant AppleTVs feature to use any remote. I'm not sure though which buttons it can learn, e.g. if it includes Menu_Hold etc.
Feel free to play with it and post results.


Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules. If you don't have the time to read them, please don't take the time to post in this forum!
For troubleshooting and bug reporting please make sure you read this first.
find quote
FreddieD Offline
Junior Member
Posts: 5
Joined: Mar 2009
Reputation: 0
Post: #75
I upgraded to AppleTV 2.3.1 and Launcher 3.0beta. After learning a new remote in AppleTV (I used an old Philips DVD player remote) and fired up XBMC, it did read the new regular commands (direction arrows, menu, select), but not the playback buttons such as play, stop and pause. Oddly enough though, i did find that the fast forward button did jump my video ahead by 10 minutes.

Anyways, since this sounds like an issue with the new Launcher now I will scour those threads and see what I can find and perhaps ask about my situation there, and report back to this thread if I can find a solution. Letting launcher pass the playback commands through to XBMC would definitely be my preference over XBMC's workaround with the non-beta launcher, so I don't have to deal with race conditions or other one-off issues. Not to mention a faster response time since one and only one signal would be passed through to the Apple TV!

Thanks for the insight on the inner workings of the new launcher!
find quote
Post Reply