Jump to content
  • entries
    47
  • comments
    385
  • views
    8180

Remotes, Part II: My RedEye Remote experiences


wgscott

RedEye-thumb.jpg

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.

 


 

Initial Assessment

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.

<p><a href="/monthly_2012_07/58cd9bc27887a_ScreenShot2012-07-21at1_33_14PM.png.40584f5450f86fb05f2114b7a82a6493.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28117" src="/monthly_2012_07/58cd9bc27887a_ScreenShot2012-07-21at1_33_14PM.png.40584f5450f86fb05f2114b7a82a6493.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p>

 

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).

terminal_example.png

 


 

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

 

http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices

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:

 

<p><a href="/monthly_2012_07/58cd9bc27e797_ScreenShot2012-07-21at2_41_08PM.png.b230ad0b5b688ec1deef36e8d038fb44.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28118" src="/monthly_2012_07/58cd9bc27e797_ScreenShot2012-07-21at2_41_08PM.png.b230ad0b5b688ec1deef36e8d038fb44.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p>

 

The penultimate line contains the information I need for my Peachtree Nova:

 

<device manufacturerName="Peachtree Audio" description="" portType="infrared" deviceType="6" modelName="" displayName="Peachtree" deviceId="71"/>

 

All I really need is this:

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:

 

http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices/71/commands

 

The output, again in XML, looks like this:

 

<p><a href="/monthly_2012_07/58cd9bc284a7a_ScreenShot2012-07-21at2_46_59PM.png.68ffebdfd37623ca2ae48033d4d881e7.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28119" src="/monthly_2012_07/58cd9bc284a7a_ScreenShot2012-07-21at2_46_59PM.png.68ffebdfd37623ca2ae48033d4d881e7.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p>

 

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

 

"http://redeye_f0102-58934.local:8080/redeye/rooms/0/devices/71/commands/send?commandId=66"

 

or issuing a command like

 

curl "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.<p><a href="/monthly_2012_07/58cd9bca955b4_ScreenShot2012-07-21at1_33_14PM.png.0815bbe7a2e8e3de448cc1550c214bff.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28367" src="/monthly_2012_07/58cd9bca955b4_ScreenShot2012-07-21at1_33_14PM.png.0815bbe7a2e8e3de448cc1550c214bff.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p><p><a href="/monthly_2012_07/58cd9bca9a6ff_ScreenShot2012-07-21at2_41_08PM.png.3563e46536819955f4e3c39f8ef043a0.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28368" src="/monthly_2012_07/58cd9bca9a6ff_ScreenShot2012-07-21at2_41_08PM.png.3563e46536819955f4e3c39f8ef043a0.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p><p><a href="/monthly_2012_07/58cd9bca9ff1d_ScreenShot2012-07-21at2_46_59PM.png.bb13009c4bc8036ee2119170dcf97b72.png" class="ipsAttachLink ipsAttachLink_image"><img data-fileid="28369" src="/monthly_2012_07/58cd9bca9ff1d_ScreenShot2012-07-21at2_46_59PM.png.bb13009c4bc8036ee2119170dcf97b72.png" class="ipsImage ipsImage_thumbnailed" alt=""></a></p>

7 Comments


Recommended Comments

External IR blaster

 

One thing I found was that it might be handy to hide the controller box. I don't want to have it plainly visible in the living room, and it will inevitably get knocked about. So I put it on a windowsill, hidden behind our (replica) dire wolf skull. The "line-of-sight" requirement for an IR emitter was thus violated. I solved that problem by purchasing this from Amazon for $15 and plugging it into the back of the emitter box:

 

41eMKqPkuzL._SL500_AA300_.jpg

 

Now each cabinet gets its own IR emitter LED. (Despite the name TiVo, it works with any standard IR equipment.)

Link to comment

I've been struggling for awhile to figure out how to control my mac mini via IP. I finally figured out how to do it, but I have to say this sure would be a lot easier if I could use ssh. The RedEye support refuses to give out the password, so you cannot log into a box that you own. So this is a hackish work-around:

 

Here is what I did:

 

  1. Install the gnu version of netcat (nc). The apple version lacks functionality (or a security hole) that is needed, specifically, the ability to use a shell script interpreter. I installed it with fink, but it is easy enough to compile by itself. (Here is a stand-alone binary I compiled: Link ).
     
  2. Start the listening process like this: /sw/bin/nc -l -p 4321 -e /bin/bash
     
  3. Create a device with the IP address of your mac computer, and the port (4321 in this example).
     
  4. Create a script command like this: Scripting.SendMessage("open -a iTunes\n")

 

 

Now for some comments:

  • I use bash here, but zsh or any scripting interpreter or whatever should work. It should be possible to create a simple launchagent to keep nc alive and listening on the designated port.
     
  • You can embed an osascript within a shell script to create a bridge between RedEye and any Applescriptable application on Mac OS X.
     
  • The unix line ending "\n" is critical.

Link to comment

Here is a launchd xml file that keeps the nc listening process alive.

 


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>KeepAlive</key>
<true/>
<key>Label</key>
<string>local.nc.keepalive</string>
<key>ProgramArguments</key>
<array>
	<string>/sw/bin/nc</string>
	<string>-l</string>
	<string>-p</string>
	<string>4321</string>
	<string>-e</string>
	<string>/bin/bash</string>
</array>
</dict>
</plist>

Link to comment

Well, the company has announced it is going out of business.

 

So, I guess that is that.

 

I hope they release the root password.

Link to comment



×
×
  • Create New...