Since most don’t have access to Portainer now, I have created an addon and I think it works. However my skills are limited and I have not figured out how to share it from github for it to intergrate directly into the Home Assistant Add-on store. Nonetheless, Here are the files. You can simply create a local add-on folder, paste the files in it and check for updates in the add-on store…
Here is how in more details:
-
Create a new directory called russound in your local add-on folder : This is where you will store your custom add-on files. You can use the Samba add-on to access the add-on folder from your computer. The path of the add-on folder should be
/addons
or/usr/share/hassio/addons
-
Copy the files from this repository to the folder you just created. More specifically, you need the Dockerfile, config.yaml, run.sh, and ser2net.conf
The add-on should now be available in the add-on store as a local add-on.
-
In the Add-on store, you should now see this add-on.
-
Select Check for updates.
-
Install and start
-
Check the logs to make sure it runs correctly.
-
Edit the Home Assistant configuration file: In your Home Assistant Config folder, open the configuration.yaml file and add the following lines:
media_player:
- platform: russound_rnet
host: 127.0.0.1
port: 3333
name: Russound
zones:
1:
name: Bathroom
2:
name: Living Room
3:
name: Kitchen
4:
name: Outdoor
sources:
- name: Cable
- name: TV
- name: Android
- name: Bluetooth
.
.
.
.
Below is the old information in case you are still looking for other options…
I recently migrated my to HassOS and had to reconnect my Russound CA-66 with Home Assistant. I had a guide for the old Home Assistant without docker (Hassbian) here
First off, a (non chinese knock-off) USB to RS-232 prolific or FTDI is needed. I found one on amazon for about 15$
-
Make sure Portainer is installed with the community add-ons
-
In the Home Assistant Config folder, create a new folder called ser2net and create a new file called ser2net.conf. it should look like this : /config/ser2net/ser2net.conf
-
Edit and save this file with this content:
BANNER:banner:\r\nser2net port \p device \d [\s] (Debian GNU/Linux)\r\n\r\n
3333:telnet:0:/dev/ttyUSB0:19200 8DATABITS NONE 1STOPBIT banner
-
In Portainer, create a new container with the image : jsurf/rpi-ser2net:latest
-
Configure the container with the following:
- Publish all exposed network ports to random host ports (Or else, if you want to specify it, the image uses port 3333)
- Command:
'/bin/sh' '-c' '/usr/sbin/ser2net -d -u'
- Entrypoint:
/usr/bin/entry.sh
- Bind Volumes:
/etc/ser2net.conf
with host:/mnt/data/supervisor/homeassistant/ser2net/ser2net.conf
- Add device for host and container:
/dev/ttyUSB0
(Or whatever maps to that usb-to-serial device) - Deploy and start the container (I have it set to automatic start on reboot)
- Edit the config file for Home Assistant to add the Russound RNET controller (Edit the sources as needed):
media_player:
- platform: russound_rnet
host: 127.0.0.1
port: 3333
name: Russound
zones:
1:
name: Bathroom
2:
name: Living Room
3:
name: Kitchen
4:
name: Outdoor
sources:
- name: Cable
- name: TV
- name: Android
- name: Bluetooth
- Restart Home Assistant and it should work. I combined my sources with the mini-media-player in Lovelace, which makes it a bit cleaner in my opinion.
This is the configuration for the card in case someone is wondering:
entities:
- entity: media_player.spotify
group: true
hide:
power: true
info: short
source: icon
type: 'custom:mini-media-player'
- entity: media_player.kitchen
group: true
hide:
controls: true
icon: 'mdi:speaker'
type: 'custom:mini-media-player'
- entity: media_player.living_room
group: true
hide:
controls: true
icon: 'mdi:speaker'
type: 'custom:mini-media-player'
- entity: media_player.outdoor
group: true
hide:
controls: true
icon: 'mdi:speaker'
type: 'custom:mini-media-player'
- entity: media_player.bathroom
group: true
hide:
controls: true
icon: 'mdi:speaker'
type: 'custom:mini-media-player'
show_header_toggle: false
title: Sound
type: entities