This page last changed on Nov 13, 2013 by waddy72.

I've just set up a simple set of Russound screens - the basic on/off source select & volume all work fine. The bass / tebble sliders do seem to have problems as someone else has pointed out (they seem to get "stuck") but that's not a big issue.

The main concern is that I can't control any of the sources e.g. play or pause etc.

The reason I started looking in to Openremote was to unify all my controls in one place. I know I could buy something from Global Cache or similar. However, they are not very cheap AND my PC (Openremote controller) is already connected serially to my Russound CAV66 and my CAV is connected via IR to all my sources.

According to the RNET protocol document it is possible to send Source Control Events that mimic keypad or IR remote keypresses. None of these seem to be listed in the "Available RNET commands" list that I've found on the "how to" pages.

Is there a facility to add these or do I need to request them to be added or is there some other way of achieving my aims?

Thanks

The commands to control the source is 'events' in Russound terminology. The Russound doc (I am referring to CAV docs) specify events for the keys available on the S2 keypad. That is play, plus, minus, favorite and so on. These commands could be added with little effort. Remaining keys on of the Russound IR remote is not supported by the Russound protocol. Obviously with Russound you have some freedom what functions you apply to the S2 keys.

Posted by toesterdahl at Nov 14, 2013 21:50

Below is an extract from the RNET Protocol Document V1.01.00

It seems to imply that you can control pretty much every button on the keypad and Russound remote.

Is adding commands a big deal? I'd be happy to put the time in if someone could get me started.

"
Source Control Events
Events unique to the IR remote are all sent using the special REMOTE_CONTROL_KEY event
type with the actual keycode passed in as the data for the event. This example shows the event
resulting from a MENU button press in zone 1:
The values of each by break out as follows:
strong>Value</strong> strong>Description</strong>
64 Setup button
67 Previous/Rewind
68 Next/Fast Forward
69 Plus
6A Minus
6B Source step (steps through sources)
6C Power On/Off
6D Stop
6E Pause
6F Favorite 1
70 Favorite 2
73 Play
7f Volume Up
80 Volume Down (Because this is > 7F, the special F1 character
must be used)
strong>Description</strong> strong>Data</strong>
Zone 2, Play F0 00 00 7F 00 01 70 05 02 02 00 00 73 00 00 00 00 00
01 70 F7
Zone 3, Stop F0 00 00 7F 00 02 70 05 02 02 00 00 6D 00 00 00 00 00
01 6B F7
Zone 4, Favorite 1 F0 00 00 7F 00 03 70 05 02 02 00 00 6F 00 00 00 00 00
01 7E F7
F0 00 00 7F 00 00 70 05 02 02 00 00 F1 40 00 00 00 20 00 01 4E F7
strong>Value</strong> strong>Field</strong> strong>Description/Notes</strong>
F0 Start of message
00 Target Controller Id Controller 1
00 Target Zone Id
7F Target Keypad Id The controller itself
Page 6 of 29
4.2.1. Source Control Keycodes
00 Source Controller Id
00 Source Zone Id Defines the zone affected.
70 Source Keypad Id Arbitrary keypad ID not otherwise used
by the system
05 Message Type An event message
02 Target Path, Num
Levels
02 Target Path, Level 1 Root menu
00 Target Path, Level 2 Run menu
00 Source Path, Num
Levels No source path is used
F1 Invert Invert the next byte
40 Event ID Lo Byte 0xBF =
REMOTE_CONTROL_KEY_RELEASE
00 Event ID Hi Byte
00 Event Timestamp Lo
Byte unused
00 Event Timestamp Hi
Byte unused
20 Event Data Lo Byte strong>MENU Keycode</strong>
00 Event Data Hi Byte unused
01 Event Priority Low priority (does not generate a
handshake)
4E Checksum This must be recalculated for different
zones
F7 End of message
strong>Value</strong> strong>Description</strong>
01 "1" Button
02 "2" Button
03 "3" Button
04 "4" Button
05 "5" Button
06 "6" Button
07 "7" Button
08 "8" Button
09 "9" Button
0A "0" Button
0B Volume UP
Page 7 of 29
0C Volume Down
0D Mute (for zone, not source)
0E Channel Up
0F Channel Down
10 Power
11 Enter
12 Previous Channel
13 TV/Video
14 Tv/VCR
15 A/B
16 TV/DVD
17 TV/LD
18 Input
19 TV/DSS
1A Play
1B Stop
1C Search Forward
1D Search Rewind
1E Pause
1F Record
20 Menu
21 Menu Up
22 Menu Down
23 Menu Left
24 Menu Right
25 Select
26 Exit
27 Display
28 Guide
29 Page Up
2A Page Down
2B Disk
2C Plus 10
2D Open/Close
2E Random
2F Track Forward
30 Track Reverse
31 Surround On/Off
32 Surround Mode
Page 8 of 29
Examples
5. Zone On/Off
The simplest way to explicitly turn a zone On or Off is by using the ZONE_ON_OFF event. The
event data fields determine the zone and On/Off state. This example shows using the
ZONE_ON_OFF event message to execute an ON command for zone 1 of controller 1. Refer to the
33 Surround Up
34 Surround Down
35 PIP
36 PIP Move
37 PIP Swap
38 Program
39 Sleep
3A On
3B Off
3C 11
3D 12
3E 13
3F 14
40 15
41 16
42 Bright
43 Dim
44 Close
45 Open
46 Stop 2
47 AM/FM
48 Cue
49 Disk Up
4A Disk Down
4B Info
strong>Description</strong> strong>Data</strong>
Zone 2, Mute F0 00 00 7F 00 01 70 05 02 02 00 00 F1 40 00 00 00 0D
00 01 3C F7
Zone 3, Menu F0 00 00 7F 00 02 70 05 02 02 00 00 F1 40 00 00 00 20
00 01 50 F7
Zone 4, Record F0 00 00 7F 00 03 70 05 02 02 00 00 F1 40 00 00 00 1F
00 01 50 F7
"

Posted by waddy72 at Nov 16, 2013 11:40

Ok, it appears that I did not read far enough in the first place. I stopped at this point,

'The method for transmitting these button events falls into two categories:
-Keypad Events: The Keypad Events are the events that the keypad is capable of sending.
-Source Control Events: All others (Source Control Events) are only available via the IR
Remote.'

Besides that I think you have a look at the RussoundCommand implementation you will find that it is straight forward. Compared to existing command implementations the only thing special to the (remote-) events is the use of the invert bit, but you will find that covered in the manual.

If you want to contribute you change you can either send a patch or ask for your own workspace on the svn repo.

Posted by toesterdahl at Nov 29, 2013 20:39
Document generated by Confluence on Jun 05, 2016 09:41