| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
swisspig.net about contact terms of use privacy policy activity site map |
Harmony One, Streamzap, EventGhost and XBMC, Oh My!(Monday, March 30, 2009)Last month, I announced that I'd finally got my media center PC up and running, and outlined quite an extensive to-do list to make the system truly usable. The first task was to get a remote control to operate the PC, and after reviewing the devices supported out-of-the-box by EventGhost, a utility that allows you to capture events on Windows (like a pressed key on a remote control) and respond appropriately (like emulating a keyboard button, which is the easiest way to control XBMC), I chose the Streamzap remote, as the lowest cost USB remote that appeared to have the necessary number of functions. One quick note — apparently, someone has been working on direct integration between EventGhost and XBMC, however there are way too many references to "the latest beta" for me to bother with it. I prefer to stick to stable releases. And while the forum claims Harmony support, you'll probably still have all the issues between the Harmony and the Streamzap that I walk through below. With a little tweaking, the Streamzap remote works very well with EventGhost and XBMC. I'm using the default Keymap.xml that is found in the System folder of the XBMC installation. After installing EventGhost, I exported an XML version of the configuration, which is much easier for me to work with than the GUI (though, the GUI is fairly good, as much as a GUI can be). I then heavily customized the configuration (download my evg3.xml to import into EventGhost):
At this point, it was time to replace the Streamzap and the plethora of other remotes with the Logitech Harmony One Advanced Universal Remote. Even if I wasn't obsessively trying to simply my entertainment experience, the Harmony One provides a significant step up from the Streamzap remote. While the Streamzap IR receiver provides enough distinct functions to operate XBMC, it is necessary to assign those functions to buttons that might have otherwise been designed for something else, or worse, simply given a color, which my feeble mind is incapable of remembering. So, the goal was to set up the Harmony One with logical mappings between the buttons on the remote and the functions that are actually run on the media center. Configuring the Harmony One should have been a relatively simple task. Unfortunately, it has been cursed with the world's most feeble software utility. You know you are in for pain and suffering when the first thing an application tells you to do is to change your screen resolution. The application then goes on to be totally unusable with only the keyboard. Never mind that it is totally incompatible with Linux (and I really do prefer not to install poorly written, untrustworthy software on the Vista media center system, as I considering the stability of Windows to be tenuous at best). Fortunately, there is a (slightly) simpler approach. After you've installed the software, you can go directly to http://members.harmonyremote.com/, where you can use your browser to perform all of your vital functions — when the time comes for it to interact with the remote, your browser downloads a firmware image that the software knows how to install. That part, at least, seems to work pretty well. So the first thing I had to do was set up a bunch of activities on the remote, so it could operate the television, the receiver, the TiVo, and the DVD player. That was fairly simple — the device catalog knew about each of these. One key point for me, is that the volume controls always go to the receiver, which allows me to overload the mute button on the Streamzap remote, for that one extra function! Unfortunately, Logitech's device catalog fails completely when it comes to the Streamzap remote. There's an entry for the device. But not a single button press is recognized by receiver. In the end, I had to have the Harmony One manually "learn" each and every button on the Streamzap remote. That didn't take terribly long, except for the wasting of several hours figuring out that it was necessary. You need to be really careful while you're doing it, too, because I apparently mispressed a button, and had to go through the process again to fix it. Once you have taught the remote how to send the right commands, you actually need to map the buttons to the commands. From the web interface, you need to customize your PC activity, and then click on the link to change the behaviour of the buttons. All of the buttons on your Harmony One should be listed, and you'll need to specify a device and command for each. All of the buttons are moved to the PC device, except the two volume buttons and the mute button, which go to the receiver. I also set up five "Additional Buttons", which show up on the device menu on the Harmony One's screen. A few are actually duplicates of hard buttons, but with my memory, sometimes it's hard to remember what button does what. Here's the complete mapping of buttons to commands to keystrokes (in the order that they appeared for me on the Logitech web site):
Here are the noteworthy items that merit further discussion. I've become very used to the "skip back a few seconds" feature of my TiVo, and it took me a while to figure out how to do it with XBMC. It turns out that during video play back, the left and right arrow buttons do a skip back and skip forward, with a default interval of 30 seconds. For skipping forward, that's just about right for a commercial, but for skipping back after you've missed a few seconds of dialog, or whatever, is way too much. It turns out that this can be configured via the AdvancedSettings.xml file, which you need to create in your UserData folder. It took me a while to figure out that this is NOT the UserData folder under the XBMC directory, but rather (at least on Vista) the UserData folder in your user directory. For other platforms, see the FAQ for that platform. I created a version of the file that contains two sections. One with the actual customizations, called "video", and a bogus section called "videoAllSettings" which contains the all of the possible video settings, along with their defaults, for my own future reference. The only really meaningful customization is changing timeseekbackward from -30 to -5. (Download my advancedsettings.xml and copy it to the appropriate UserData folder.) The other noteworthy item is that the Streamzap IR receiver doesn't have the ability to wake the PC from S3 sleep. It should have the ability to do so. The documentation from Streamzap says that the receiver "doesn't provide enough power" to do so, but that's nonsense. If you have your BIOS configured to allow a USB device to wake the computer from S3 sleep, then the IR receiver should stay fully powered, and the hardware should watch for a "power on" command. Unfortunately, I'm not sure if that's something they can fix with a driver update, or not. Depressingly, my proposed workaround is both expensive and complicated. Currently, I wake the PC from sleep by sending a magic wake-on-LAN packet from my laptop. This is only temporary. I am in the process of setting up a full Insteon-based home automation system. One of the niftier Insteon devices, is the IRLinc IR receiver. This will allow me to (at least in theory) configure the Harmony One to send commands to the home automation system. Since I'll be routing all of the home automation commands through a central server using the Insteon PowerLinc Serial Modem, I can just have the server watch for the "turn media center on" command, and issue the magic wake-on-LAN packet. This would be a total deal-breaker for the Streamzap, if I weren't already planning on adding these other components. If that's way too much for you to deal with, your other choices are leaving the PC on all the time, or using a more sophisticated IR controller, such as the Microsoft Windows MCE Remote (which I actually wanted, but couldn't verify actual continued support for from Microsoft). So that's what I have for you for now. Stay tuned as more details emerge. CommentsOne step I forgot... the Streamzap remote installs a program called "zremote.exe" that is used handle interactions with your PC, in the absence of a better solution. You'll want to turn that off, using the "msconfig" utility. -- Brian (4/1/2009 1:13 AM)
Brian, thanks a ton for posting this -- I found it via google search just as I was setting up my own xbmc rig, and I'm sure you saved me hours of time. Works just like you described. Thanks! -- Bruce (4/14/2009 12:29 AM)
Have you heard of usb-uirt? -- MoonUnit (6/24/2009 3:01 AM)
(I don't know if you plan on checking back, but...) Yes, I'm familiar with USB-UIRT, a custom built unit being sold by Jon Rhees. That's probably an even better solution than the StreamZap remote, however, I chose the StreamZap for several reasons: first, I wanted a solution that included a remote control -- since I had no idea how the Harmony One would work, I wanted to have a remote control that I could teach it with; second, while I'm sure Jon is both honest, and talented, he's only one man, and for this particular project I decided to go with the product with a corporation standing behind it, and Amazon.com's customer protections; finally, the StreamZap was half the price. For a future project, I might choose the USB-UIRT, but that's why I made the decision I did, at the time. -- Brian (6/24/2009 9:36 AM)
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
All material copyright © 1995-2012 by
Brian Ziman, unless otherwise noted.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||