Control Russound CA-66 on HassOS with RNET using Ser2net and Portainer

Hey all, I just acquired 2 Russound CAV6.6 amps from a family friend and stumbled across this thread with the hopes of integrating them with my existing HA setup so that I can power a few rooms in the house using a Sonos Connect as the input device. I’m not running a Docker container with ser2net as described here, but instead am running ser2net on a secondary Raspberry Pi which is then connected to one of the CAV6.6’s via a USB → Rs232 cable. Looking at my HA logs, I see lots of “Could not update status for Zone 1” and “Did not receive expected Russound power state for controller 1 and zone 1” errors.

Details on my setup:
I’m starting ser2net (on the secondary pi) like this: /usr/local/sbin/ser2net -d -u. I’m using the same string posted above in the /etc/ser2net.conf file. If I attempt to telnet into the pi (from another machine) using it’s IP and port, I successfully connect and get the banner message. I took this to mean I probably have ser2net setup and configured correctly??

On the HA side, I’ve got this in my configuration.yml file:

media_player:
  - platform: russound_rnet
    host: 192.168.1.208
    port: 3333
    name: Russound
    zones:
      1:
        name: Bar
    sources:
      - name: Sonos

I’ve even tried connecting the 2nd CAV6.6 to the Pi just to make sure there wasn’t something weird going on with the first amp but I get the same behavior.

If anyone has ideas or troubleshooting steps I’d love to hear it. It seems like I’m close, but maybe missing a step somewhere. Thanks!

Your setup might be working just fine. I used to have those errors with certain zones using Hassbian (Now known as Home Assistant Core in Debian) and it worked perfectly fine except for those random errors in the log. Try to control the volume or power with Home Assistant.

Good point, although looking at HA I realize I don’t have any controls available for that entity. Hmm… Do I need to create a custom Lovelace card like you did in order to control things?

You can add the entities with a custom card like I did or you can simply create a new card, choose by entity and search for your zone. I think yours should look like media_player.bar

Yeah I did that but there are no controls. If I inspect the entity (media_player.bar) in the developer tools, it shows the state as “Unknown” with the following details:

source_list:
  - Sonos
friendly_name: Bar
supported_features: 2444

Not sure what the problem is… You could always try another port or you can modify the ser2net.conf configuration file like the one that I had when i was using Debian. It is slightly different than this one. Just make sure that Home Assistant Config file is updated to match the port.

BANNER:banner:CONSOLE LAB Terminal Server TCP port p device d serial parms srn
TRACEFILE:tr1:/var/log/ser2net/p-Y-M-D-H:i:s.U
6271:telnet:0:/dev/ttyUSB0:19200 8DATABITS NONE 1STOPBIT banner tr=tr1 timestamp

Also, you can make sure that the USB to RS-232 on the right path for your setup (It might be dev/tty/USB1 or something else). You can look it up using dmesg

Thanks for the help, yeah that config doesn’t work either for me unfortunately. Do you know if there is a way to manually communicate with the CAV6.6 via the ser2net tool? At this point I think I need to prove if ser2net is actually talking to the Russound unit or not. I’ve been reading some threads (like this one: Problems with RS232 with Russound CAV6.6...HELP PLEASE! | AVS Forum) which make me think that maybe my Russound unit either needs a factory reset or I need to find another tool to interface with it. Both my CAV6.6’s were pulled from a working setup, but they were programmed for that particular house - so maybe something needs to be done or re-configured to allow me to actually communicate with them via the serial port?? Maybe a call to Russound tech support will help…

Thanks again, if you have other troubleshooting ideas I’m all ears, otherwise I’m going to see if I can find a way to manually send commands to the CAV6.6.

Apparently I’m a moron. I just discovered that there is a removable front panel on the CAV6.6 which reveals (among other things) another RS-232 port as well as a switch for (apparently) toggling between the “front” RS-232 and the “rear” RS-232. It was set to “front”. lol. So I plugged my cable into the front RS-232 port and guess what - it works. Well to be fair, I only see a power state on the entity in HA but I it works: I can switch that zone on/off no problem. Ugh, wish I had noticed this sooner. :slight_smile: Thanks again for the help, hopefully I can figure the rest out on my own now that I know HA is able to talk to the CAV6.6!

EDIT: I did switch that toggle switch to rear, and plugged my cable back into the rear RS-232 port and now it works too. Also, I do see a volume slider now - it was not enabled when the zone is switched off. However, moving the volume slider doesn’t seem to actually change the volume coming out of my speakers.

Anyone else have random zones powered on when they reboot home assistant? I can’t seem to track down why this is happening to me. I’ve tried shutting hass down completely, power cycling my russound controller and then starting hass back up again. First boot all zones are off, hit server restart and when hass goes down it powers on a zone or zones.

EDIT: tracked it down to my automation that triggers powering the russound sounds based on chromecast speaker group state. I guess as hass is shutting down the speaker group flips to on, the automation triggers but because hass is shutting down it never logs that it triggered.

I am a newbie, but have Home Assistant Supervised working well on a RPi with various home automation. I would like to integrate my Russound CAA66 and have just found this thread. It looks like Portainer is not available any more in the store. Is there any work-around, or alternative method to achieve the Russound integration?

I knew that Portainer was not supported anymore, but I did not know that it was removed from the add-on store. I guess the best solution (and possibly the only solution) would be to create a Home Assistant Add-on with the basic setup as explained here.

Unfortunately, I only have a very basic coding experience and limited time at the moment. I would love to create the add-on, as it is the only reason why I am still using Portainer. If someone is willing to help, that would be great.

Thank you. I have just found a version of Portainer online and I hope to try the integration over the next few days.

I have followed the Portainer information, and the ser2net container shows as running. But I cannot see any of the Russound information under entities. I have tried each of the 4 USB ports on the RPi, but still not showing up.
Any advice welcome. Thank you

The port is not important, but you have to make sure that you are pointing to the correct device.

Your device might not be ttyUSB0, but ttyUSB1. You can try to find it by opening (or install the addon) SSH & Web Terminal and type :

dmesg | grep tty

Thank you.
I think that I have a problem with Portainer after all.
I have re-Created the container for ser2net and when I try to deploy it, I get an failure error as follows:

Failure
OCI runtime create failed: container_linux.go:380: starting container process caused: process_linux.go:545: container init caused: rootfs_linux.go:76: mounting “/mnt/data/supervisor/homeassistant/ser2net/ser2net.conf” to rootfs at “/etc/ser2net.conf” caused: mount through procfd: not a directory: unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.

I am using
container: /etc/ser2net.conf
host: /mnt/data/supervisor/homeassistant/ser2net/ser2net.conf

I think that the error is basically telling you that it cannot mount the file into the docker container.

The docker container will copy the file located in /mnt/data/supervisor/homeassistant/ser2net/ser2net.conf (This maps to the file you have created in the home assistant folder /config/ser2net/ser2net.conf.) into its local docker at the location /etc/ser2net.conf.

  • Can you double check step 2? Make sure that everything is typed up correctly and that you have the folder ser2net with the file in the correct location. It seems that Portainer cannot find the file or the folder ser2net.conf.

  • Try to edit the file ser2net.conf with notepad++, make sure the encoding is UTF-8

  • Also make sure that protection mode is disabled for the Portainer add-on.

Thank you again.
I have rewritten the ser2net.conf file using Notepad++ with UTF-8.
Protection mode is off in Portainer, but I still get the same error.
I also notice in the Portainer ‘Network’ section…it shows ‘bridge’, but doesn’t show any info for hostname, domain name etc. Is that info required ?
I am using Home Assistant Supervised.

That might be it… In my network setting, instead of bridge, I have host selected and my hostname is hassio. That’s all I have in network.

Try it and let me know :slight_smile:

Thank you again. Turns out that in Supervised install the directory is different.
Instead of host: /mnt/data/supervisor/homeassistant/ser2net/ser2net.conf
it should be
host: /usr/share/hassio/homeassistant/ser2net/ser2net.conf
All working perfectly now.

Glad you could figure it out!