Various Russsound(R) Multiroom amplifiers can be controlled using a serial RS232C connector with a protocol called RNet(R).
russconnectd is a small, simple daemon to control these from EIB/KNX through eibd using a Linux-based system.
Communication-flow is like this: KNX <-> eibd <-> russconnectd <-> UDP <-> USB-serial+socat (or another serial device server) <-> RS232 <-> Russound
- Directly control multiroom amps from KNX
- Very low latency and resource usage, written in C with threads
- Optimized KNX-wise for operation and status-display on i.e. hard switches as well as existing visualisation-solutions
- Event and time-based polling, so local panels and other control mechanisms can be used simulataneous.
- Simplified addressing scheme to avoid clicking together hundreds of them on sevral systems by hand.
- Fully supports cascaded amps, up to 6 with 36/48 Zones (per daemon)
- Supports turning off the amps with an actuator
- Linux based system with standard libc, like WireGate ;) (Also tested successfully under OpenWRT, Makefile in SVN)
- USB/Serial converter (optional)
- At least one Russound, see supported devices
- Some time
The group-address scheme used for KNX is kept very automatic so that only a start-address needs to be configured and the remainder can be calculated for 4-36 zones. given a start-address the next 256 GA are used per 6 Zones, currently pretty hardcoded It works like: Start-address given 10/1/0
0-9: System/controller-wide 10/1/1 W Power on/off all zones*1 10/1/2 WO Actuator powering the controllers (not yet)
10/1/10 W Zone 1 Power on/off 0/1 ...
See galist below for an example.
- CA4 (you must configure also SIX not four zones!)
- C3 (yet untested)
Newer models support Russound_RIO in addition to RNet which is completely different.
- Implement direct actuator-control to switch on and off when no zones are on
see also TODO file in SVN.
Install package russconnectd:
or on the commandline/SSH-console:
apt-get install russconnectd
Builds the bridge between (USB-) serial adaptor and UDP for this daemon.
Or use another serial device server/gateway.
Building from source
- Skip this section on WireGate.
- See README: http://openautomation.svn.sourceforge.net/viewvc/openautomation/tools/russconnectd/trunk/README
- See link to SVN below, you know what you do ;-)
Something like this should work: http://knx-user-forum.de/knx-eib-forum/15742-russound-knx-3.html#30
Or get the .deb and do
dpkg-source -x cd russ* dpkg-buildpackage -b -us -uc
Edit /etc/default/russconnectd using your favorite texteditor and or Putty/WinSCP. Default settings should be ok, only change the startaddress (default 10/1/0) as needed.
DAEMON_ARGS="-d -i 127.0.0.1:16012 -l 16011 -a 10/1/0 -z 12 -u local:/tmp/eib -s"
Usage: russconnectd -d Run as daemon/No debug output -p <pidfile> PID-filename -i <ip:port> IP-Address:Port to send UDP-packets to russound -l <UDP-port> UDP port to listen on -a <KNX address> KNX start-address (see README) -z <number> Number of Zones to support -u <eib url> URL to conatct eibd like localo:/tmp/eib or ip:192.168.0.101 -s (Optional) send all values to KNX on startup of daemon -k 0x71 (Optional) Keypad ID - defaults to 0x70 for CAx - use 0x71 for C5
Standalone Perl-script that creates configs (or snipplets for copy&paste) for:
- CometVisu (XML)
- WireGate (INI)
- ETS4 (CSV)
- Homeserver (ESF)
- linknx (XML)
Download latest version from SVN: http://openautomation.svn.sourceforge.net/viewvc/openautomation/tools/russconnectd/trunk/cfgmaker.pl
Is just a calculation-sheet to help understanding the addressing-scheme.
Download latest version from SVN: http://openautomation.svn.sourceforge.net/viewvc/openautomation/tools/russconnectd/trunk/russ_galist.ods
- Look into syslog
- Stop daemon (/etc/init.d/russconnectd stop) +
- Start in console with all parameters from /etc/default/russconnectd without "-d" for debugging-output
Setup v0.2 on WireGate: http://knx-user-forum.de/knx-eib-forum/15742-russound-knx-8.html#77
Files on Sourceforge: https://sourceforge.net/projects/openautomation/files/russconnectd/
Russound, RNet are Trademarks of their respective owner.