...Continued from Page 4.|
When a device is not already available, the program asks for the model number. It then tries to determine what infrared protocol the original remote uses via "sophisticated algorithms". This procedure, once again, has a familiar ring - to a normal remote's learning process. Rather than merely recording a raw copy of the code, the program tries to figure out what code protocol is being sent and then matches it to a predetermined list. If various brands use the same protocols, it presents a list from which the most likely match must be chosen.
The small program through which IR codes are taught.
I began with my Marantz receiver, the home theater's centerpiece, which uses the standardized RC5 code format. The program downloads a small "Device Tutor" utility to the computer, which is used to record one or more button presses through the physical Harmony and then pass them on to the web site for analyzing. Incredibly, it worked! The program determined that I was using a Marantz receiver and even told me the name of the command transmitted.
For everything else...
Unfortunately, those "sophisticated algorithms" didn't always function as well. Three of my components weren't detected properly, despite the fact that similar models employing identical codes were already stored in Easy Zapper's database. So, what can be done in these cases?
The program already knows that you have a particular type of component for a specific brand. So, it adds this limited information to a unique "Characterization" routine, which must be completed for all devices that aren't already defined. This activity is downloaded to the Harmony and is used in conjunction with print-out worksheets for each unsupported device. The remote allows you to "test" that component by trying out various code sets, seeing what type of power or input codes it operates by, whether there's any way to set it back to a known input and much more. By the time this is done you'll know exactly how your system operates! Afterwards, you're required to go back to Easy Zapper's web site and answer a number of questions, which vary by the device. From this information the Harmony automatically works out smart macro routines designed to keep nearly any collection of cumbersome components in total synchronization, and map out what functions should go on what hard buttons.
During this lengthy characterization step I quickly discovered that perfection comes at a cost: to free time. One of the requirements is that you name and assign codes to each input for each device. If the built-in database doesn't have the code you want for an input, you must name the new code, download a program to learn the code, transmit the signal to the Harmony, send it back to the site, then assign that code to the input. This takes significantly longer than it would to merely learn all required codes in a single consolidated process. If the Harmony has fallen asleep while connected (USB takes a fair bit of power), the Device Tutor tends to detect "bad infrared" as it wakes up and can take several attempts to clear.
If the program is unable to match a device to any of its recognized code formats, it then allows you to learn the entire device from scratch. Supporting codes up to 60KHz, the program is capable of storing raw or decoded learned data though the tedious manner of "add command", "name command", "download program", "teach command", "press done" and "select code format"... repeat for every function. Less steps would go further!
Characterizing a device.
Further optimization can be done to each device, such as setting the power on delay and how much blank space should be left between each command.