Success with Integrating to Russound CAA66?

I’m a newbie with HA. I am trying to control my Russound CAA66 using the Russound RNET media player component. I am using a brainxboxes serial to Ethernet bridge. I have previously configured simplecontrol to control the CAA66 using this, and it has worked fine. Based on scanning the net It does appear that the CAA66 support the RNET protocol.
My config is as follows:

media_player:
  - platform: russound_rnet
    host: 192.168.1.72
    port: 9001
    name: Russound
    zones:
      1:
        name: Zone 1
      2:
        name: Zone 2
      3:
        name: Zone 3
      4:
        name: Zone 4
    sources:
        name: Yamaha Receiver

HA produces the following:

HA doesn’t allow me to switch the zones on or off (no toggle button), nor is it reflecting the correct status of the zone when it is on.
The brainboxes bridge has a couple of configuration options, which are also shown on the above image.

The options for the brainboxes bridge protocol type also include “Raw TCP” and “Telnet + COM Port Contol”. I tried both these options (restarting HA each time), and none made a difference.
Any advice on what to do next to diagnose / fix the problem would be much appreciated.
Thanks,
Andreas.

Did you ever get this working? I’m just starting out on it. Added the entry into my config file but nothing shows up. I’d love for someone to do a tutorial on this. Thanks

I managed to get the zones to show up in HASS after installing and configuring ser2net. Now how do I do anything to control them?

I still haven’t had time to look at this further, and I haven’t got it working yet. I have some time now to spend on it but to be honest I’m not sure where to start other than going low level such as looking at the RNET protocol and maybe doing packet analysis, which could end up being a big time sink. At this point I’m even thinking of replacing my russound with a modern multi zone receiver. Let me know if you make any progress.

I never got anywhere with this. I contacted the developer and he seemed to think it should just be working. He gave me instructions on how to launch tcp-serial-redirect.py the way he has his setup. I did that but it wasn’t any different, zones appear on the front end but no way to control them.

I ended up installing software called smartthings-node-proxy that works very well with my SmartThings hub. I am able to turn zones on/off, select input, and adjust volume.

I don’t know if you have a SmartThings but it’s the only way I’ve found so far to have remote control over the Russound. Works great!

hoffsta thank for the additional info. I don’t have a SmartThings hub but have been considering it. I am based in South Africa and sourcing it here is not easy, but with some effort its doable. This may push me over the edge to get one. In the mean time I have accessed Neil’s code that will allow me to test and possibly debug it running standalone (outside of HA).

Excellent- I’d like to be running as much as I can on Home Assistant so if you make any breakthroughs please let me know. Cheers!

Will definitely do so if I make meaningful headway.

hoffsta, I have been making steady progress but still haven’t resolved it yet. I have run Neil’s russound code standalone from python and it seems ok. Will now try debug within HA. In the meantime here is a way you can test whether your serial gateway is set-up correctly. Download and install packet sender: https://packetsender.com/ (its free).
The idea is that you will use packet sender to send a command to your russound that will turn on zone 1.
The command is a hex command. Copy and paste it from here into the hex field as per the screenshot below (make sure to avoid any leading or trailing white spaces).

Hex command to turn on zone1: F0 00 00 7F 00 00 70 05 02 02 00 00 F1 23 00 01 00 00 00 01 12 F7

Obviously also supply the correct IP address and port number of your serial gateway. Then click on send. Zone 1 should turn on. If this works it means your serial gateway is working, and the issue is likely at HA level.
Let me know what the outcome is.

Thank you so much. I won’t be able to take a look at this until at least tomorrow, but when I do, I’ll let you know.

@hoffsta so I finally got this to now work from within HA. However I did need to make a code change in the HA russound_rnet component. Essentially the component does not define that the Russound supports the “TURN_ON” capability. As a result when HA renders the russound component on the UI, it does not provide an on button. By changing the code to include support for turning on, the on button appears in the UI, allowing you to turn a zone one. Once the zone is turned on you can then change the volume as well as the source. So over and above any possible issues with your serial gateway (which there may be none), there is definitely an issue with the current code base within HA for the russound_rnet component. I will log this as an issue with the proposed fix…

That’s awesome! Nice job on finding the bug! I’m really glad it wasn’t just my lack of ability to get this going, I was feeling pretty lame.

So for me to get my hands on this, I’ll need to wait until the fixes are added to an official update? I’m fine with that because I have it working in SmartThings. How long these things usually take to get implemented?

Cheers to you!
Sean

Hi @hoffsta - sorry for the radio silence. I have spent some time over the past couple of days making changes and improvements to get this to work. To get the code into HA there are 2 code repositories that need to be updated. One is that built by Neil, which you were in touch with. I have submitted a pull request for him to review. I then need to also submit a pull request to the main HA repo for another change. In the meantime, what would be useful is if you would be able to help test the changes I have made. Essentially there are 2 files you need to replace in your home assistant set-up. I don’t how comfortable you are with doing this. Essentially it involves navigating to specific folders (depends on what OS you are on as to where these are), and copying a file into each folder, making sure you backup the existing file you would be replacing. Let me know if you are keen and I will send you the files with more info on where to put place them.

Hey there, I’d be more than happy to test the files for you and will have no problem making the needed changes. Thanks!

I was pretty busy over the holidays, as I’m sure you were too. Anyway, just a reminder that I’d be happy to test your updated code if still needed. Thanks!

Good timing. I have made various fixes and improvements. It proved to be quite a challenge as there were seemingly inconsistent responses from Russound when testing with Neil’s device. Anyhow seems like I’ve managed to work around that. It would be good to have another person testing before I submit it to HASS. I’ll send you the files a little later today. What time zone are you in by the way? I am UTC+2.

I’m glad to hear your work is going well! I’m UTC-8, in Eugene, Oregon, USA

Great. I am UTC+2 (Johannesburg South Africa). I will send you what you need later this evening for me which will be sometime during the day on your side.

Hi @hoffsta - so here you go. You can download the first file you need from here: https://www.dropbox.com/s/ynvmg4dzwimzpji/russound_rnet.py?dl=0
The file name is russound_rnet.py, and it has to replace the existing file in your installation. On my raspberry pi install, the file is located here: /srv/homeassistant/homeassistant_venv/lib/python3.4/site-packages/homeassistant/components/media_player
Its essentially the location where homeassistant is installed. Don’t forget to back-up your existing file so you can revert if you need to.

The second file you need to replace is called russound.py. you can download it from here: https://www.dropbox.com/s/9id3zevvjukro01/russound.py?dl=0
The location of this file is within within a folder within the same folder that your confguration.yaml file is. In my set-up it is here:
/home/homeassistant/.homeassistant/deps/russound
i.e. my yaml config file is in /home/homeassistant/.homeassistant and the russound.py file is in deps/russound within that. Again make sure you back up so you can revert.
Once you have done this restart HASS. I find it useful to run it in command line mode rather than as a service int he background is it easier to keep an eye or for any errors as it logs to the console.
The configuration of the yaml file is as before (i.e. no specific changes required).
If this works as expected, you will see your zones in the HASS UI and you will be able to switch them on, change their volume and select a source. Let me know how it goes!

1 Like

Thanks, I will try this out in the next few days and let you know what I find!