SqueezeIR

What is SqueezeIR?
SqueezeIR (pronounced squeezier) is an applet for the Logitech Squeezebox Duet Controller that allows you to use the Controller as a basic infra-red universal remote control, a bit like a Logitech Harmony but with most of the buttons removed (the Controller only has ten buttons!).  To use SqueezeIR you need to be running Squeezebox Server v7.4 or greater,  it will not work with older versions or SqueezeCenter/SlimServer nor will it work if you use mysqueezebox.com as your only music source as a local server is needed to install and configure the applet.  You can, of course, use mysqueezebox.com once SqueezeIR is installed and running though.  All previous and current versions of the Controller firmware have not made use of the infra-red transmitter feature hence the need for this applet.
What can it do?
SqueezeIR allows you to customise the behaviour of the Controller's buttons to send IR codes to your equipment instead of, or as well as performing their default actions.  SqueezeIR also provides a customisable menu heirarchy for sending IR codes that don't logically fit with any of the Controller's buttons.  SqueezeIR can be configured to send different sets of commands depending on the currently connected player and supports macros to send multiple commands from a single key press.
 
As of version 1.00, SqueezeIR allows you to use a web browser to trigger the Controller to send IR codes.  This new feature has been given the name IR-over-IP (or IRoIP for short).
Why would I want It?
Have you ever wished you could use your Controller to adjust your amplifier's volume rather than that of your player?  Have you ever wished you could turn your amp on and select the correct input when you press "Play" on the Controller withour having to rummage behind the sofa for (yet) another remote control?  Have you ever wished you could control your Squeezebox3 or Boom via the Duet Controller without having to switch to it first?  Have you thought it would be cool to use your phone/netbook to control your amplifier?  If the answer to any of the above questions is "YES PLEASE" then SqueezeIR is for you!
Is it all good news?
Unfortunately, no.  Some devices just can't be controlled via the Duet Controller for technical reasons.  However, this list is quite small when compared to the vast number of devices that can be controlled by SqueezeIR.  Some devices may not behave as smoothly with SqueezeIR as they do with their "proper" remote control (eg changing volume may be a bit jerky).
OK, How do I do it?
Firstly you need some IR codes for your device(s).  This is potentially the hard bit as there is no common standard for IR communication.  First try the LIRC database.  If LIRC doesn't have anything for your device then you could try to contact your device's manufacturer for the IR communication details, failing that try searching the web.  Infra-red commands are typically presented as groups of two or three numbers some of which are generally constant for a given device (these are the Device Codes) and one which changes for each command (the Command Code).  Of course there are exceptions depending on the equipment that you want to control and how the codes are presented.
 
Another option is to learn the codes from your original remote using a "magic eye" attached to your computer, or using the irBlaster plugin for the Squeezebox3.  I believe you can also obtain the commands by using a Philips Pronto universal remote.  I really can't help you much more as, like I said, there is no universal standard.
If you've been lucky enough to get the IR details for your device then you can move onto installing and configuring SqueezeIR to suit your needs.

Credits

Thanks go to everyone who has expressed an interest in SqueezeIR but special mention is deserved for...
  • ...Roberto Ierusalimschy - For his simple but effective lua xml parser.
  • ...Greg Badros - For the IR-over-IP http server.
  • ...Pokersut - For being my first guinea-pig and for providing the Danish string translations.
  • ...Bluegaspode - For the PRONTO protocol function, and for getting SqueezeIR to work with v7.4+ firmware.
  • ...mHerger, Bluegaspode & chincheta0815 - For the German string translations.
  • ...Erland, the plugin guru - For helping with numerous technical issues.
  • ...Sunnysekot - For creating the Squeezebox3 configuration file.
  • ...HansRL - For the Norwegian string translations.
  • ...sg2 - For the French string translations.
  • ...chincheta0815 - For the Spanish string translations.