View Full Version : Russound Keypad Interface - Interest Level?

2009-08-15, 19:07

I've written a program that integrates the Squeezebox with Russound's RNET audio system keypads. Basically, the program does two things. First, it echoes, in near-real time, whatever is on the Squeezebox display to the Russound keypad's display. Second, it allows the Russound keypad's buttons to control the Squeezebox, much like a Squeezebox remote. It can therefore be used to not only display the current song title, artist, etc. on Russound keypads, but also to fully navigate the Squeezebox's menus to select and play music library items, internet radio items, favorites, etc., etc. Conceptually simple, but it was a bear to get working!

I wrote the program mostly as an exercise to learn the Lua language (which I've come to like very much), and it's working fine for my purposes. It would require a good bit of tightening-up, error checking, testing, and documentation before it would be useable by others. I wanted to make sure there's sufficient demand for such an animal before I spend any further time working on this.

The program was developed/tested with Lua on Windows (WinLua), a single Russound CAV6.6 controller, six UNO-S2 keypads, a Squeezebox v2, and SqueezeCenter v7.3.2. I'm not sure how it will work/look with other Russound keypad types, nor with other Squeezebox models (I assume the Squeezebox v3 should be fine). The program supports only one Squeezebox as a Russound system source, but should work with multiple-controller configurations (and should work with the new ACA-C5 controller). The Lua bytecode *should* be compatible with other 32-bit platforms, including OSx and Linux, but I don't have the equipment to test this.

Note that in order to communicate with the Russound controller you need to have a PC with a physical serial (RS-232) connection to the controller. I could not find a Lua library that supports binary serial communications with embedded nulls, so this PC needs to run a Tcp-based virtual serial connection. I'm using and recommend the free program VSPE (Virtual Serial Ports Emulator). The interface program does not need to run on the same PC that has the serial connection, nor the same device running SqueezeCenter (all the communications are done using Tcp connections).

If there's a lot of interest in this I'll try to continue working on it further, but this is a very part-time activity for me and I can't guarantee any dates.


2009-08-30, 23:42
I'm interested. I was going to do something like this myself.

I'm a developer, but have not worked with LUA (nor have I even heard of it).

I have a CAM6.6 and 4 UNO-S2 keypads. I also have a PC running homeseer which connects physically via the RS232 interface, and I bought a plug in from HomeSeer to control the Russound. There is not a lot of control going on between home seer and the russound Amp - the only functionality I have implemented is turning off all zones when the home alarm comes on. I use a fifth Russound zone as a 'home Security' channel - it says "Front door open" in the middle of the night to wake us up if someone is breaking into the house! It also plays door bell sounds when the front door bell rings. This 5th zone does not have a UNO controller, so I also use the HomeSeer -> Russound connection to make sure this zone is always on and switched to the correct channel - there is a homeseer event (macro) that runs daily to switch that zone to the Home Seer sound card from the Homeseer PC (the home seer makes noises and talks).

I could sacrifice the RS232 - Rusound connection. I was thinking of functionality like:

If you switched to the Squeeze box zone using the SqueezeBox using a UNO-S2 keypad, then the up and down buttons could scroll through the 'Favorite' items on the Russound. The play button could start the selected favorite. Left and right buttons could skip forward and back in the selected playlist.

I think it would be rediculous to try and port the entire controller functionality to the UNO-S2 keypad - you don't have enough ability to scroll to allow you to scroll through hundreds of artists or albums.

I was thinking of developing this as a homeseer plug in. That would allow me to maintain my existing Homeseer->Russound connection. That assumes HomeSeer allows multiple devices to connect to the serial port connected to the Russound.

I have a copy of the spec for the propriatary RS232 communications protocol that Russound needs pumped down its RS232 channel. I assume you have this also.

When you say you are seeing what interest there is out there, are you interested in working on this with others like me on this? I have a fairly extensive range of servers and gear to test this on. I run Mac Mini, Linux (CentOS) and Windows XP in the house. The Home Seer machine that is physically next to the Russound amp is a Windows XP machine. This will probably have to be the machine that connects to the Russound.

2009-09-12, 11:18
I am absolutely interested. I have a dual russound system. Slim is so awkward to use with Russound. I would very much like this integration.

How can I help?

2009-10-11, 12:24
Just registered to say seriously interested in this. I couldn't help with programming but would be more than happy to help with testing if required. I have a couple of CAV6.6's and a Sqeezebox duet.

Do hope that you can make this happen.

2009-10-14, 02:16
I'n going to be installing a a couple of C-Series Russound systems soon, and plan on having SqueezeBox/SqueezeServer as the main music source.

I've been looking everywhere for a way to integrate Russound and SqueezeServer. And would be glad to lend a hand in any way I can. I have some programming skills but probably not much related to this type of development.

I can also provide a place to test any platform you want. I have big server with plenty of room for any Virtual Machines of any type you want.

I realize that the CAM and CAV series are probably going to have the higher demand due to the install base, but I'm really interested in getting this functionality on the new C-Series, and will gladly provide whatever skills I may be able to lend to porting a solution for the C-Series and MDK-C5 Keypads.

Mike C
2009-11-25, 09:16

I am interested. Have a lot of lua experience using Girder and NetRemote (see promixis.com).


2009-11-25, 09:21
Wish the original poster would come back and acknowledge our interest in this. He got me all exited about this and appears he never came back to check the thread or isn't setup for notification to responses, or just decided to not pursue the project here.

FYI, I would be willing to pay for the plugin as well if it was commercially available.

2009-11-25, 09:35
Me to. This would be an awesome plugin for me. I can test would be willing to spend some time with the programming.

Mike C
2009-11-25, 10:20
i wonder if a board admin could email the poster?

2009-11-25, 15:40
Absolutely excited about it. An itegration piece here would be extremely useful. I Keep checking back. Keeping my fingers crossed.

2009-12-12, 08:08
Me too!!

2010-01-24, 16:44

First, my profuse apologies for not having responded sooner. I
seemed to have had a reasonable amount of free time when I first
worked on this, but work and home commitments have since
intervened. Frankly, I didn't think there would be much interest
in such a program.

The program and documentation are now available. Go to http
colon slash slash drop dot io slash sqzruss. Login with the
password "sqzrussguest". Download the sqzruss_v01.zip file and
extract the two files to any directory. The zip file contains
the SqzRuss.lua source code file and a ReadMe pdf file. Read the
ReadMe file *very, very carefully*. This program is not very
polished and is not for the casual user or feint of heart.

The program works fine in my Russound/Squeezebox environment, but
the complexities of the RNet protocol and different Russound
controllers and keypads can be mind-numbing. I wish I could test
this with other controller/keypad combinations but I have but one
system to test with. If you're having problems with something I
don't have in-house, my ability to help will be very limited.

I will try my best to address any questions and problems. If
others want to try to expand this further, I'd be glad to lend my
help. The foundation is there, but it needs lot of tweaking and

2010-01-24, 18:17
This is a really interesting project. I will mirror it on my site.


2010-02-10, 13:57
Anyone tried this yet? Questions? Problems?

I've posted a new version v02 to the site referenced above. Improvements in this version include:

a. The program now supports multiple Squeezebox players as sources to the Russound controller(s). Each player can be controlled independently.

b. The program's configuration settings are now contained in a separate SqzRuss.ini file.

c. Stability and error handling have been improved, particularly for fatal errors such as lost connections to the Russound controller or Squeezebox Server.

I'd be glad to help anyone that wants to try it.

2010-03-04, 14:05
I have not implemented as of yet. I have SS working on a LinkStation and it is not upgradeable. Current release is 6.3.1. So I am frantically working on getting that to a supported release for your code. I have a serial run to my HAI system so I may need to split that to have both connected. I'm hopeful that does not cause a problem. Will let you know as soon as I get this working.

Thanks, this big time makes my setup better!

2010-03-04, 16:11
The Virtual Serial Ports Emulator Program (VSPE) lets you have two programs sharing the physical serial port at the same time. You just create a "Splitter" device in addition to the Tcp server device. I use it in this configuration to have the SqzRuss program and Russound RNet analyzer running at the same time. You might want to run SqzRuss by itself first to make sure it's working right, then try getting it to work with HAI at the same time.

SqzRuss may work fine with 6.x, it's just not tested. The program uses only a couple of different CLI commands, and these may not have changed between versions.

Good luck...

2010-04-16, 08:47
My computer(s) are nowhere near my CAV6.6

Is there any other way to connect the computer that is running the VSPE to the CAV6.6 besides that RS-232 serial cable? Is there some sort of way to connect via ethernet?

My home is LAN wired down to where the CAV6.6 is located in the basement closet.

thanks for the program

2010-04-16, 09:26

Yes, there is a way to do this. I recently learned that there are IP-to-serial devices that can effectively replace what VSPE does. Two such products are the Elk IP232 and the Startech NETRS2321E. You should find these for around $130 to $140. In the SqzRuss.ini file you just replace the host name and port number for VSPE with the ones for the IP-to-serial device. I don't have one of these to test with, but it should work fine.

Fyi, I learned about these on cocoontech.com where people describe using them with a new iPhone/Touch app for controlling Russound systems. I've been working with the author and the app is really great. Check out the screenshots at llamasoftware.net.


2010-04-16, 10:25
That's a bit steep, though your quick reply is much appreciated.

Do you think any ethernet to serial bridge would work? I saw one for $35 here: http://www.blackbox.com/Store/Detail.aspx/LA126?CAWELAID=415403267

but I don't know anything about these things.

2010-04-16, 11:52

That product looks like a simple cable pin-out adapter. It's possible you could put one of those at each end of the cat 5 cable to make it essentially a long serial cable (if the cat5 cable is not too long to carry the signal). You would *not* connect the cat5 cable to your network and you'd still need VSPE running on the computer. Try googling "rs232 over cat5" for more info.

The products I mentioned are network devices that have a Tcp socket client built-in. If you look at the related products on that page you'll see one for about $183.

Good luck...

2010-12-05, 13:21
Hi really want to use the cav6.6 plugin to be able to control my new squeezebox duet through the uno's however i also want to use the port for an it/tcp serial-ethernet device to control the cav6.6 via my iphone. Is it possible to do both

2010-12-05, 16:00

Well, there's good news and bad news. The good news is that you can share the IP serial port interface between the SqzRuss program and another program controlling the Russound system with an iPhone. I do this myself with the Llamapanel iPhone app and the VSPE virtual serial ports emulator program.

However, the bad news is that the SqzRuss program does not work with the Squeezebox Duet. I discovered this when working with a couple of other people who were trying to use it. The Duet does not respond to the same CLI display commands as the other Squeezebox players, so it does not work with the SqzRuss program. Sorry!


2010-12-05, 18:37
Cheers someonewho
The Llamapanel iPhone app is what i hope to use as well but I am gutted about the duet not working. oh well its bought now.
If i bought a squeezebox classic on the cheap would it work? It would mean having to give over another port on the cav6.6 but as I have 2 free it wouldnt the worst in the world. Is it hard to control 2 separate squeezeboxs through ipeng

2010-12-05, 18:46

Yes, a Squeezebox classic will work. I'm using an old ver. 2 Squeezebox classic. iPeng is an excellent application. I use only one Squeezebox, but it should be able to handle switching between two relatively easy.