Access Keys:
Skip to content (Access Key - 0)

How To – Integrate Russound with OpenRemote

The Russound RNET protocol can be used to control Russound multiroom audio amplifiers which support the RNET protocol. The RNET protocol is the 'older' HEX based Russound protocol which is used via the RS232 port of the devices.

The newer devices (C3 and C5) also have an integrated ethernet port which supports the ASCII based RIO protocol.

OpenRemote only supports RNET in the moment but we will probably also integrate RIO soon

OpenRemote controller configuration

OpenRemote can access the device either directly via RS232 or through a RS232<->Ethernet device. This has to be configured within the controller configuration.

In the moment you cannot do this via the designer which means you have to edit the file "config.properties" manually.

The file is located within the controller in the folder "webapps/controller/WEB-INF/classes".

You have to change the settings in this section:

#-----------------------------------------------------------------------
#
# RUSSOUND CONFIGURATION:
# 
# Configuration related to Russound amplifier

##
# IP-Address of the RS232 Serial gateway if used. The gateway has to support TCP mode
russound.ip=192.168.100.8

##
# Port of RS232 Serial gateway to use
russound.port=1234

##
# KeypadId IF NOT 0x70 (default). Specify as Hex without leading "0x" eg. "71"
# Supposedly the newer C-x models need 71 and the older CA-66 models need 70
russound.keypadId=71

##
# If the Russound is connected directly to a serial port of controller use device name here eg. /dev/ttyS0
# If a serial device is specified the IP settings are ignored
russound.serialDevice=

##
# If a pollingInterval is given, that means an extra thread is started which polls the device for the status
# valid values: 5000, 5s, 1m, 2h  (no letter=milliseconds, s=seconds, m=minute, h=hour)
russound.statusPollingInterval=

#
#------------------------------------------------ end of Russound ---------

After this is done restart the controller and design your remote.

OpenRemote Online Designer

Now, let's create a remote in OpenRemote Online Designer.

Our task will be to create a switch to turn one zone on/off and which reflects the status.

Create new Device

In "Building Modeler", create new device (New->New Device)

Create commands

Still in "Building Modeler", select device that was created in step 1 and click on New->New Command.
Specify a name and select "Russound RNET Protocol" as protocol. If you configure multiple zones you should mention the zone numer in the name, that makes it easier to assign UI elements or other objects later.

These are the settings for power-on. We use Zone1 from Controller1.

Russound specific settings:

  • Controller - The controller to which this command is sent (Count starts with 1)
  • Zone - The zone to which this command is sent (Count starts with 1)
  • Russound command - The action this command should do

    The following Russound commands are available:
    ALL_ON
    ALL_OFF
    POWER_ON
    POWER_OFF
    VOL_UP
    VOL_DOWN
    SELECT_SOURCE1
    SELECT_SOURCE2
    SELECT_SOURCE3
    SELECT_SOURCE4
    SELECT_SOURCE5
    SELECT_SOURCE6
    SELECT_SOURCE7
    SELECT_SOURCE8
    SET_SOURCE
    SET_VOLUME
    SET_TURNON_VOLUME
    SET_BASS_LEVEL
    SET_TREBLE_LEVEL
    SET_BALANCE_LEVEL
    SET_LOUDNESS_ON
    SET_LOUDNESS_OFF
    SET_PARTYMODE_ON
    SET_PARTYMODE_OFF
    GET_VOLUME
    GET_TURNON_VOLUME
    GET_POWER_STATUS
    GET_SOURCE
    GET_BASS_LEVEL
    GET_TREBLE_LEVEL
    GET_BALANCE_LEVEL
    GET_LOUDNESS_MODE
    GET_PARTY_MODE
    GET_SHARED_SOURCE
    GET_SYSTEM_ON_STATE
    GET_DO_NOT_DISTURB

Since we are going to configure a second and third command, click on "Submit and continue". This will store our current settings, but preserver filled-in values. We can then easily update settings without the need to re-enter all the values again.

These are the settings for power-off.

And the last one. These are the settings for querying power status.

Since we are not going to add any other command, click on "Submit".

Create sensor

We also need a sensor which is later used by the "switch" object to query the status.
Select the device and select (New->New Sensor).
Define a name and select the status command from the previous step.
The sensor will have the type "switch".

If you want to create sensors which can be used for sliders (Volume, Bass, etc.), you have to create range sensors with the following ranges:

  • For volume and turnonVolume: 0 - 10
  • For bass, trebble, balance, -10 - 10
  • For source selection: 1 - 8 (or 1 - 6)

Create switch

Now we can create the switch object which combines the on/off commands and the switch sensor. The switch object will be used later in the UI designer.

Select the device and select (New->New Switch).
Define a name and select the sensor from the previous step.
You also have to select the command for on and off.

We are done in the Building modeler and have successfully configured our device, the commands, a sensor and the switch.

Use commands in UI Designer

Now we switch to the UI Designer and create a panel which will be our remote.
The panel will contain one switch UI element which will use our switch object from the previous step.
If you don't select an image for on and off the button will just have a label "On" or "Off" depending on the status.

Result

Added by Juha Lindfors , last edit by Marcus Redeker on Jan 25, 2012 14:05

© 2008-2011 OpenRemote Inc. OpenRemote is a trademark of OpenRemote, Inc.
Adaptavist Theme Builder (3.3.3-conf210) Powered by Atlassian Confluence 2.10.3, the Enterprise Wiki.
Free theme builder license