Remotes, Part II: My RedEye Remote experiences
by, 07-21-2012 at 06:11 PM (5171 Views)
After messing with a number of different remote control options, including the functionally similar Logitech Harmony Link, the details of which I have blogged previously, I decided to get the RedEye Remote, based in part on Chris's Review of The RedEye Remote, and also because I can run things from the comfort of a desktop web browser.
I've sunk some time into this now, so I am creating a new blog page here to log my experiences, in the unlikely chance they might be of use to others. I'll try to make this complementary to what Chris wrote, rather than a repeat. (I have however repeated my initial assessment from Part I just to keep this self-contained.)
Here is what I would like to be able to do with the ideal remote control:
- Run the interface from an iPad (and iPod, iPhone)
- Run the interface from my computer desktop, either as a stand-alone application or within a web browser.
- Control all of my IR stereo and AV equipment with standard IR codes, and learn those unavailable
- Allow limitless customization of interface
- Scriptability, for programming
- Control anything that can be controlled via IP
- Every controller can remember or assess the current on/off state
- Work in conjunction with hand-held IR remote controllers (like my Harmony 650)
Although the RedEye doesn't do everything on this list, it comes as close as any of the options I have encountered. It cannot, for example, work "intelligently" with my Harmony Remote. It would be ideal if it could, or if RedEye made their own physical remote control. The sad reality is no one else in my family wants to use their iPod as a remote control device, so the Harmony 650 is here to stay. Fortunately, they can co-exist, albeit unaware of each other's existence (and therefore activity states).
My primary use for this thing is to turn off all the other crap in my living room, if necessary, and then turn on the stereo and control it, along with my iTunes/Audirvana Plus playback software.
I also considered iRule and Roomie. Both seem to have a slicker software interface, and both use the open-hardware standard GlobalCache boxes, so I really would have preferred one of those. But the deal breaker for me is both of these software options confine the interface to an iPad/iPod/iPhone/iOS device. I really want the ability to run this on a laptop or desktop computer, in addition to being able to use an iOS device for a remote. So that ultimately lead me to buy this instead.
Overall, the RedEye is sort of what I had wished that the Harmony Link would have been. I got it on Amazon.com for $167. This is $67 more than the Harmony Link (which I returned long ago now, because it would not permit me to put pauses of user-determined length between the commands like the rest of the Harmony family does, which ruined its functionality for me). So, a comparison to Harmony Link seems appropriate.
1. Practically speaking, the IR functionality of this and the Harmony Remote are very similar. The main difference is that the RedEye emitter is a little linux box running apache2, and interaction with the emitter over IP (from iOS, android and desktop browser) is via http. This has some advantages. One of these advantages is that you can make your own web page of commands, stick it on a server (local or otherwise) and immediately have access to it from any device that runs a web browser. The Redeye control software gives you the URLs explicitly, so you can embed them. Here is a screen-shot, below, of an example of a page I made to run my Peachtree Nova from my laptop or desktop or other browser. If I want to turn the volume down, turn the tube buffer off, or mute it, or turn the power to the unit off, I just click on the appropriate part of the image (which I sliced up in Adobe Photoshop), and this activates the appropriate link. On an iOS device, you can save web pages as iOS applications, so I have in essence just created a very small lightweight Nova controller app for my iPad, iPod, etc. Of course I can do all this from Redeye's own software, but this is faster, fully customized to my needs, and loads much more quickly.
2. The RedEye setup process really sucks, compared to that for Logitech Harmony remote controls. It made me appreciate all the more what Logitech has done. Of the 7 devices I loaded, I got a total of two working out of the box on the first try. With Logitech's setup software, which many people bitch about, everything worked, the first time.
3. RedEye's own controller software is slow and a bit buggy, and even crashes sometimes. Now that I am making my own control pages, this isn't such a big problem...
4. You can customize pause times, and the setup software inserts these between commands in activities automatically. All you have to do is set the time. This part is vastly better than what logitech does (or in the case of the Harmony Link, fatally failed to provide for).
5. The command = URL property is actually quite powerful. Here is a screenshot of how I just turned the volume down on my Nova via a unix command in the Terminal. (Not that you would want to, but what it does show is that you can bind these commands to buttons easily in an Applescript or any application creator mechanism, so the possibilities are quite enormous and powerful).
Making a Custom Web-Based Interface
1. Query the web server to extract the information you need
Because everything interesting happens within the RedEye unit itself, you can interact with it via its built-in web-server, and obtain all the configuration information you need.
For example, I want to obtain a list of all the devices I have entered in the database, and the unique numerical "deviceId" that is associated with each. I can do so via command-line (as above) using curl or wget, or simply use a web browser, and paste within it a URL of the form
where f0102-58934 is the unique serial number for the RedEye unit. (I've changed it from mine, BTW). Either approach returns the information formatted in XML, as shown in the browser screen shot below:Code:http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices
The penultimate line contains the information I need for my Peachtree Nova:
All I really need is this:Code:<device manufacturerName="Peachtree Audio" description="" portType="infrared" deviceType="6" modelName="" displayName="Peachtree" deviceId="71"/>
Now I can extract a listing of all the commands I have programmed in for the Peachtree Nova, deviceId 71, simply by going to this URL:Code:modelName="" displayName="Peachtree" deviceId="71"
The output, again in XML, looks like this:Code:http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices/71/commands
Note, that in addition to the standard Peachtree commands, I have also put in a few Apple IR remote commands (play, pause, ff, rw, etc) using the "learning" capabilities of the RedEye unit. I find this convenient, because I treat the Nova and the playback software abstractly as a single "Device". (It is a good thing when software permits you to do stuff in a way that you want to do it, rather than rigidly confining you to how they think you should want to do stuff.)
2. A unique URL for every command lets you customize your own web interface
So now I have a listing of all of my commands, along with the RedEye internal "commandId" number, so I know the URL for each of these commands. For example, look at the "mute" command, which has commandId=66. This tells me that simply putting a URL into my browser of the form
or issuing a command likeCode:"http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices/71/commands/send?commandId=66"
I can control the mute function. That enables me to make a standard web page, and link a mute button to the above URL.Code:curl "http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices/71/commands/send?commandId=66"