Control regular A/V equipment
|This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.|
How to set it up
First add the infrared transmitter on the Wizard, Devices, Interfaces page in LinuxMCE Admin. Then add your a/v devices on the Wizard, Devices, A/V Equipment page. Control a TV or cable/satellite box for an example of adding a TV, and creating a new Device Template if your model isn't already in the system.
On the A/V Equipment page issue specify for each device what infrared transmitter will be controlling it in the Controlled Via pulled down. If this device uses infrared codes, when you click the "A/V properties" button next to that device you should the "Uses I/R" box is checked. Confirm the inputs and other I/R settings, such as toggle vs. discrete are correct. If they are not, then whoever added the device template for this model originally may have done it wrong, or perhaps he had a different model. In either case you can create a new Device Template for your model as explained Control a TV or cable/satellite box. Then click the "IR/GSD codes" button to select or learn new infrared codes.
LinuxMCE includes a stock library of infrared codes supplied by other users. These codes are grouped, sometimes referred to as code sets or Infrared Groups. For example, Sony may make a thousand and models of TV sets, but nearly all of them use the same infrared codes; the remotes are interchangeable. Therefore it makes no sense to learn or input the infrared codes for every single model, rather it's much easier to put all the codes into a group called "Sony TV codes", and then only 1 user needs to add the codes, and then every other user with the Sony TV can use that set of codes. On the IR/GSD codes page you can select what Infrared Group, or codeset, you want to use for this device. All the codes are stored in Pronto format. If there are multiple Infrared Groups for that Manufacturer and Device Category, you can choose the one you want from the pull down, and then click the test code button next to one of the codes to see if the device responds. Worst case you need to create your own I/R codes. If an existing Infrared Group is correct, but there are just more new codes you need to add, choose the Infrared Group and then choose Add/remove commands. If none of the existing Infrared Groups are correct, you can create a new infrared group, or leave the Infrared Group pull-down empty and the codes you provide will be used only for this model, without belonging to an Infrared Group.
Check off one of the Command Groups check boxes to add groups of codes, such as Standard navigation, or volume control. Or click the add remove command buttons to add them individually. Try to use the existing command whenever possible; they are already quite complete. It is important to use the correct existing commands, even if your device gives them another name. For example, when you hit the channel up button on any remote-control, it will send to the "Skip Fwd - Channel/Track Greater" command to the device. Different remote controls call this function different things. Maybe yours calls it "Seek Up". If you create a new command called "Seek Up", then the existing remote-control which is designed to send our stock command will not work with your device, and you'll need to create a whole new remote control for your device. You don't want to do that. LinuxMCE Orbiter runs on web pads, pda's, phones, etc. We already have stock remote controls for all those types of devices that send our stock commands. Therefore it is much easier to use the existing commands even if the names are different than what you're device uses.
If your infrared device supports learning, then when you click the "new code" button on the I/R code page you'll be able to learn the code automatically. For example, if you're using the gc100, there is a learning dongle for it. Plug it into the gc100's port or into another serial port on the computer that is controlled in the gc100. On the gc100's device page, specify what serial port you're using in the "comm port parameter". If your device does not support learning, or is unable to learn the code correctly, then you'll need to get the code in pronto format on your own. One of the best sources is the http://www.remotecentral.com website. You can copy and paste the infrared codes from that website into the LinuxMCE Admin page. On the A/V equipment page if you leave the check box "Share my I/R codes with others" checked the infrared codes will automatically be shared with other users.
To test codes you can either do it by clicking the test code button from the infrared code page in LinuxMCE Admin, or by clicking the Advanced button on the orbiter, which is normally the LinuxMCE logo. On the Orbiter's advanced page is an option to test infrared codes. Note that to test i/r codes with that button on the orbiter only I/R codes that were already in the system before the last Router reload will work. This isn't the case with the LinuxMCE Admin website, so, when setting up devices for the first time, the website is the preferred tool.
How to use it
Just add a media scenario for the device, as explained Control a TV or cable/satellite box <p>
The logic for determining what infrared codes each device uses is in Infrared_Plugin. The command is Get Infrared Codes. Each infrared interface device, like the gc100, should inherit from the MessageTranslation class which handles translating for toggle codes, proper formatting of numbers, etc.