Older russound (rs232) control support

I recall looking at this at one point and not really understanding the "Optional Wired Ethernet Gateway." I have 2 MCA-C5s and they are hardwired into my network, but not with any sort of external gateway, just with the port on the actual unit (well, 1 of the units and then the units are chained together).

IIRC, when I was trying to get it to work I concluded that the Ethernet Gateway used must speak a different language than RIO. Maybe I'll play with it some more...

Yes, I think that one uses the RNET commands over RE232 (via the Ethernet Gateway), which are different from the RIO commands. I am looking to use RIO commands over TCP/IP but I am investigating using a RPi as the proxy. I just need someone to write the proxy for me. I would like to write it myself. But I have never written anything like that before.

Ok. This integration didn’t work for me, but I thought I would pass it on to you. We’ve got an MCA-66, MBX-PRE, XSource, and ST-1 tuner, but our control is via XTSPlus touchscreens.

1 Like

That looks like a great system!

It's interesting (to me) how I came to home automation and Hubitat. Two years ago, we bought this house. It had been built by the developer of our small gated community as his "dream home" for himself. The only "smart home" devices that worked were a single Amazon Echo, a couple of Lutron Caseta switches, some Hue Lightstrips, and a Wink hub. The rest of the stuff was very nice (5 Somfy Glydea drapery systems, the Russound equipment, LiftMaster garage door opener, Schlage locks, GE smart refrigerator, GE smart washer and dryer), but he decided to do all the installations himself, and never was able to make any of the integrations work, and the plumbing and electrical system was a bit of a mess. He threw up his hands, having only minimally lived in the house for a few weeks, and sold it "as is", with much of the smart stuff in piles, inoperative. Turns out, the reason none of the integrations worked was that, when he had cabled the house with CAT5E, he had used big construction horseshoe nails and had shorted out the CAT5E and speaker cables in multiple places. I pulled cables, re-wired a bunch of stuff, did a bunch of plumbing (I hate plumbing), and got everything working. Then Wink exploded, so I bought a SmartThings Hub, started migrating, and, after two weeks, saw the train wreck that was happening there, so migrated everything to Hubitat, and everything worked.

2 Likes

I'm confused at why we need the proxy. The Hubitat can communicate directly over TCP/IP as it does with Lutron and others, so I'm not sure what the purpose of the intermediate RPi proxy is - I thought its purpose in the ST driver was to get around ST being cloud-based and needing a path into a local network (I never had ST, so that was just a guess).

I use webcore to control most of my home automation, including controlling my Russound. It works very well. ST is my backbone. I am now transitioning to HE.

That was my hope, that using webcore through HE would be perfect. I tried every way that I could to communicate directly with my russound with webcore (GET/PUT/POST). I monitored with Wireshark. From what I can tell, and have been told in the webcore forum, webcore uses UDP, not TCP. I was so hoping that I could just do an http call to my Russound and send RIO text commands. I was hoping to eliminate the node.js/ST node proxy system that I currently use, and gain direct, local control. That's why I thought, maybe incorrectly, that I needed a proxy/tunnel to manage the UDP to TCP/IP communication.

It has been suggested that I look into the Raw Socket Interface, but I do not know the first thing about writing a driver.

I am certainly willing to pay someone to write a very basic, functioning driver that will allow me to send text commands from webcore to my russound.

I think I have finally found something...

I used this driver: Hubitat/SIP2IR Driver.groovy at master · bptworld/Hubitat · GitHub

In the driver code I changed the port to 9621. I then successfully sent a "on" and "off" command to my russound MCA-C5. So now I at least have a base to start playing with.

1 Like

YES!!!! It works!!!
@ottojj, thank you very much sir. You are my hero today!

Hmm. Weird. 9621 is the correct port per the RIO protocol and it worked for me with no problem. Try sending a command as I've noticed that even when the connection status is in "error" status, it still works.

[edit - I seem to have replied to something that you've deleted]

I did not install the device correctly initially. Deleted that one and created another. It worked.

Now, pardon my limited understanding here....It says "connected". I will be writing webcore pistons to use this device. Will this stay connected? Will I need to connect before I send each command? Do I need to disconnect after each command?

Ha, remember, I have about as much knowledge as you on this (probably less). I think experimentation is in order.

Couple of things I've added to the driver (obviously I also created Controller and Zone fields):

command "zoneon"
command "zoneoff"

def zoneon() {
return new hubitat.device.HubAction("EVENT C[${controllernumber}].Z[${zonenumber}]!zoneon\n", hubitat.device.Protocol.TELNET)
}

def zoneoff() {
return new hubitat.device.HubAction("EVENT C[${controllernumber}].Z[${zonenumber}]!zoneoff\n", hubitat.device.Protocol.TELNET)
}

So everything that I have tested in webcore has worked without any further modification of the driver you suggested. Selecting zone, adjusting volume, zone on/off, volume up/down, mute...all work.

1 Like

You have a crash course in how to use your webcore code available that I can look at?

This works perfectly!
Device name is AAAA. I will change it later.

You can use code c6jk to copy this piston into your Hubitat webcore editor. Just change the "Unknown Device 1" to your Russound device and it should work from there. I am happy to assist further if needed.

image

Just click on "New Piston".

Click on "Restore a piston using a backup code". Use the code c6jk.

I think I'm officially confused at what you're doing with the webcore pistons that you couldn't do in RuleMachine. Is it just so you don't have to start from scratch in hubitat? Since I'm starting from scratch, I think it makes more sense to just write the rules in rule machine so that I'm all on my local network, right?

3 Likes