Anyone using Russound RNET component? I could use a walkthrough

Hey guys & gals, I have connected a Russound CAV6.6 to my Pi via RS-232-USB, installed ser2net, and added the RNET component to my config file. My zones show up on the front end but I don’t have the ability to do anything with them, such as power, input or volume. I can’t find any documentation or tutorials about how to use this component. Does anyone know if it’s still working? More likely, I don’t have it configured correctly but I could really use some guidance on what to look for. Shout out to laf who wrote the component! Thanks

hoffsta,

Wondering, if you have have had any success? I am just jumping into HA, and this is a main factor, to control a CAV6.6. I would really like to hear about your experience. Right now i have a iTach IP2SL for serial control (I only see IR supported right now in HA), but if i can use the pi then that would free that up for other items.

Thanks

This is a quick reply as I don’t have time to write many details this afternoon. Yes, it’s working great for me since the code was updated. I simply use a USB-RS-232 cable to the Pi with TCP_Serial_Redirect installed as the software bridge. I have control over selecting inputs, powering on/off zones, adjusting volume of any zone, and can use those commands in automations. It’s all I can think of needing from this application. I’ll be happy to fill you in with more info but I think you should be able to get it going with just what’s available in the threads here. Cheers!

Search for the other CAV6.6 thread on here, lots more info

Thank you very much. Yes, I read that thread, and that gave me hope for it to work… I have tried on a test Win10 computer, but no luck registering the CAV6.6. Pi should be here this weekend, and will get more into it then. If I do run into issues getting it to work, perhaps i could PM you at some point for a “dummy” version of how to get it set up??

Best,
Tim

hi Hoffsta,

I have tried to figure this out using some posts from you (mostly) and others, but think I am over my head.

My steps so far:
-install Hassbian and have HA interface working and added some other components to test it out
-install pyserial - not sure how to test if it was installed properly, but shows it is there
-created text file “tcp_serial_redirect.py” and put it in “/usr/local/bin”
from your reddit post, i got the first two lines of this file, and then use the pySerial component text for the rest

cd /usr/local/bin
python tcp_serial_redirect.py --spy -p /dev/ttyUSB0 -b 19200 --rts=1 --dtr=1 -P 1337

import sys
import socket
import serial
import serial.threaded
import time


class SerialToNet(serial.threaded.Protocol):
    """serial->socket"""

.....................TO END

I changed USB to all four (UBS0, USB1, USB2, USB3) to make sure i was not missing it. If I go to /usr/local/bin in Putty, and run the command above, it comes back with a syntax error, so something may be off.

-Added Russound component to configuation.yaml
media_player:

  • platform: russound_rnet
    host: 192.168.1.9
    port: 1337
    name: Russound
    zones:
    1:
    name: Main Bedroom
    2:
    name: Living Room
    3:
    name: Kitchen
    4:
    name: Bathroom
    5:
    name: Dining Room
    6:
    name: Guest Bedroom
    sources:
    • name: Sonos
    • name: Sky+

Any pointers you might be able to provide?

Thank you,

Tim

Where did you download TCP Redirect from? I think there are two sources and only one of them worked for me, this one:

https://github.com/pyserial/pyserial/blob/443e27de14a9a12899c8db600e44428927fc5364/examples/

I took it from the HASS component page - seemed newer with a 2016 date, vs Github 2009. I have now taken the one from Github that you linked to, and still no sign of the CAV6.6.

Are there any logs i can look at/post?

My longest hang up, and my best guess about why yours isn’t yet working, is with the Pi-serial interface. I wish I had more time to help you troubleshoot this but right now I just don’t.

On the CAV6.6, you can remove the cover on the front and check that the switch is set to the correct RS-232 port (front or rear).

I remember there was some way to manually send commands to the device to test if it’s receiving them but for some reason, I didn’t record any notes about that.

I’m fairly certain that the code in HA is rock solid at this point so it must be something else.

Here are all the notes I took, I wish I had a better tutorial for you. I also was just winging it at a level a bit over my head. Don’t give up!!!

Install pySerial as root
‘sudo python -m pip install pyserial’

Create tcp_serial_redirect.py in /usr/local/bin
‘cd /usr/local/bin’
‘sudo nano tcp_serial_redirect.py’
paste code from: ‘https://github.com/pyserial/pyserial/blob/443e27de14a9a12899c8db600e44428927fc5364/examples/

Start with this command:

‘python /usr/local/bin/tcp_serial_redirect.py --rts 1 --dtr 1 -P 1337 /dev/ttyUSB0 19200’

If no errors, create systemd service file:

‘sudo nano /etc/systemd/system/tcp_serial_redirect.service’

'[Unit]
Description=tcp_serial_redirect
After=network.target

[Service]
ExecStart=/usr/local/bin/tcp_serial_redirect.py --rts 1 --dtr 1 -P 1337 /dev/ttyUSB0 19200
User=pi
Restart=always
RestartSec=15min
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=tcp_serial_redirect

[Install]
WantedBy=multi-user.target’

Set to start on boot

‘sudo systemctl daemon-reload’
‘sudo systemctl enable tcp_serial_redirect.service’
‘sudo systemctl start tcp_serial_redirect.service’

hoffsta, thank you so much. I will go over that in a short bit. I also have a sense it is outside of HA, as i it seems it cant connect to the CAV at all. Will update in a bit.

Do you think it matters that i could only install pyserial with the command
‘sudo pip3 install pyserial’ not ‘sudo python -m pip install pyserial’ as you have it?

I have back RS-232 on; I had it hooked up to a HTPC w/ USB to serial cable, so know it accepts that.

Does it matter if when i run this line alone in Putty:
‘python /usr/local/bin/tcp_serial_redirect.py --rts 1 --dtr 1 -P 1337 /dev/ttyUSB0 19200’
it return SyntaxError

How is the 1337 port determined? does it need a port, is this random?

The log shows

17-04-25 09:31:33 ERROR (Thread-4) [russound.russound] Error trying to connect to Russound controller.
17-04-25 09:31:33 ERROR (Thread-4) [russound.russound] [Errno 111] Connection refused
17-04-25 09:31:33 ERROR (Thread-4) [homeassistant.components.media_player.russound_rnet] Not connected to 127.0.0.1:1337

But, i can see serial device is detected

pi@raspberrypi:~ $ dmesg | grep tty
[ 0.000000] Kernel command line: 8250.nr_uarts=0 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708_fb.fbswap=1 dma.dmachans=0x7f35 bcm2709.boardrev=0xa22082 bcm2709.serial=0x232e109 bcm2709.uart_clock=48000000 smsc95xx.macaddr=B8:27:EB:32:E1:09 vc_mem.mem_base=0x3dc00000 vc_mem.mem_size=0x3f000000 dwc_otg.lpm_enable=0 console=ttyS0,115200 console=tty1 root=PARTUUID=d4c432f5-02 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
[ 0.001348] console [tty1] enabled
[ 0.971560] 3f201000.uart: ttyAMA0 at MMIO 0x3f201000 (irq = 87, base_baud = 0) is a PL011 rev2
[ 2.060033] systemd[1]: Starting system-getty.slice.
[ 2.065404] systemd[1]: Created slice system-getty.slice.
[ 3.899983] usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0

Thanks again for helping me.

Also, I tried to use packetsender on my PC to send a command to the Russound (via Pi @ 192.168.1.X - port 1337 or any random port), but Error comes back as “Could not connect”.

And does it matter in which of the 4 USB slots on the Pi that the cable is plugged in to?

Ok, I am wasting too much time on this, and throwing in the towel. I cant even get it to connect with packetsender. While HA material tries to make it sound simple to setup, I realize this is not the case and requires programming skills that i dont have right now. And in this case, it is just attaching hardware even before HA.

Thanks for trying hoffsta.

EDIT-well i have a hard time giving up. I have kind of cheated, and have a iTach IP2SL i hooked up, and it is sending signals to the russound. So i have been able to have it show on my states page. But it is flaky.

dont want to use it. I am pretty sure now that when using USB-serial on the Pi, that it is not sending out on the right baud rate, or not on the right port, or something. not sure how pi gets the info, as not sure tcp_redirect is running, and not even sure pyserial is.

I know that since I could have also used a walkthrough, here is what I did after struggling for a few days.

First off, buy a good (non chinese knock-off) of USB to RS-232 prolific or FTDI. I found one on amazon for about 15$

After, I tried using tcp_serial_redirect.py for a while, I could never make it work. I used ser2net and followed this guide.

To sum up what I did:

sudo apt install ser2net -y

Determine where your USB is located using, mine was ttyUSB0:

dmesg | grep tty

Then edit /etc/ser2net.conf. using

sudo nano /etc/ser2net.conf

Here modify the file to comment everything and add:

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

Save that file (Ctrl-o) and to make Ser2Net starts up automatically:

sudo nano /etc/rc.local

Add the following above exit 0

/usr/local/sbin/ser2net -n -c /etc/ser2net.conf

You can create a log directory for ser2net sessions:

sudo mkdir /var/log/ser2net

I modified my russound in configuration.yaml like so:

 #Russounds @ dev/TTYUSB0
 media_player:
   - platform: russound_rnet
     host: 127.0.0.1
     port: 6271
     name: Russound
     zones:
       1:
         name: Bathroom
       2:
         name: Living Room
       3:
         name: Kitchen
       4:
         name: Outdoor
     sources:
       - name: TV
       - name: PC
       - name: Android
       - name: Bluetooth

Finally reboot your system. It worked for me and I hope it’ll works for someone else. Thanks to @gth758y for his guide.

4 Likes

thanks for this!!!
Work like a charm on HASSIO/raspbian stretch.
Having a 2004 cav6.6 controlled in home assistant was unexpected until I’ve found this thread.

hello @waltre, i opened a post about integrating russound with my knx system.
Maybe you can help me.
https://community.home-assistant.io/t/integrate-knx-russound/194343/8

i am not able to display all zones in the same ‘card’. I tryed to instal Mini Media Player, but not working because of entity id.
image

and also, not able to create rules.
i am blocked with entity ID
I also tryied to create a group

media_player_Russound:
  name: media_player_Russound
  entities:
    - media_player.Russound.Etage.Mezzanine
    - media_player.Russound.Etage.SDB
    - media_player.Russound.RDC.Cuisine
    - media_player.Russound.RDC.Salle_à_manger
    - media_player.Russound.RDC.Salon
    - media_player.Russound.RDC.SDB

but getting error while checking configuration
Invalid config for [group]: Entity ID media_player.Russound.Etage.Mezzanine is an invalid entity id for dictionary value @ data['group']['media_player_Russound']['entities']. Got ['media_player.Russound.Etage.Mezzanine', ...

tks for your help.

Hi,

I guess you have 2 questions:

  1. How to put all the zones in one card?

  2. How to get rid of the error message on the Russound media_player entities?

1- card setup
here is my config to put all the zones on 1 card - my goal was to only be able to turn on/off and be able to chose the source:

cards:
  - content: ' '
    title: MULTIROOM SPEAKER CONTROLS
    type: markdown
  - entity: media_player.kitchen
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.master_bedroom
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.thomas_bedroom
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.office
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.front_deck
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.back_deck
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: false
    type: 'custom:mini-media-player'
  - entity: media_player.master_bathroom
    group: true
    hide:
      controls: true
      icon_state: false
      power_state: false
      source: true
    type: 'custom:mini-media-player'
state_color: true
type: vertical-stack

then this is what I get:
image

2 - For the error message

  • it seems like you’ve got a solution on the other thread by replacing the ‘.’ by ‘_’ for naming the media_player entities

W.

1 Like

you saved me !!! tks a lot.

For those interested in migrating to HassOS, I created a post on how to intergrate Russound RNET with Portainer, as I recently migrated my Homeassistant to the new HassOS. It might save someone some troubleshooting time.

You can find the link here

I found a used cav6.6 for pretty cheap. I was originally going with the monoprice 6 zone but might pick one of these up instead. Can someone confirm that you can group multiple zones together to play from a single source via hass? I’ve got 3 chromecast audios I plan to use as source per family member.

Thanks.