NuVo Volume Hold and Release

I have a serial controlled device (NuVo Essentia 6-Zone Audio System) that has a command to initiate volume up/down ramp and to another one to stop the ramp. I’ve setup each zone as a receiver device in Roomie. Is there a way in Roomie to send the ramp up/down command when the user presses the volume buttons and send the stop command when the user release the button? I’ve tried the VOLUME UP and VOLUME UP$ commands but it doesn’t work.



What kind of control method does it use? The stop commands designed for that are for HTTP control methods as it’s not really logical for non-HTTP when you have a dedicated connection. Is the Nuvo expecting a stop command over direct serial?

If so, you’d be better off not using the ramp start stop and instead using an explicit .VOLUME SET with an appropriate .VOLUME FORMAT and then defining VOLUME UP/DOWN as wildcard commands with ##. Doing that effectively sets the device to “explicit volume only” where Roomie tracks the volume and just tells the device exactly what volume to use.

(That explanation is probably a little complicated so feel free to send your command set to support for tweaks.)

Thanks for the quick reply!

Yes, the NuVo does expect a stop command over serial and there are no simple incremental commands. There is an explicit set volume command in the format SETVxx where xx is a number from 0 to 74. I’ve actually tried this but it didn’t seem to work as Roomie didn’t give me the option to use this device for volume control in an activity. However, I didn’t use ## for VOLUME UP/DOWN so that may be why. I didn’t see a volume format in the Roomie SDK that corresponds to this but I figured I can settle for the decimal percentage format and loose some range. Is there a format where I can specify my own range?

Also, it would be nice to get feedback from it as well but the only query command that would return this is a general status query where the volume is embedded in a string with other info like input and on/off status. Is there a way to parse the response string for the volume digits?

Thanks again for your help!

Using the wildcard commands and a volume format of 300 will get the job done. It will allow some volumes that your device wont allow, but that shouldn’t matter for now. A format of 405 has been added for the future for a 0-74 volume.

Custom feedback parsing would need a special format identifier. If you submit the format to support, we’ll take a look.

The command set can be found in the manual here:

Download Manual (29 pages, 1.29 Mb)

Here is the command for volume status:

  • Connect STATUS REQUEST where xx is zone # from 1 to

-ppp = “ON” (2 characters)
or “OFF” (3 characters)
The remaining fields are not included in the response if ppp is “OFF”:
-s = SOURCE NUMBER 1 to 6
-yy = level below max in dB: -00 to -78 dB
(include lead 0 for all single-digit
-yy = “MT” if in MUTE state
-yy = “XM” if external MUTE is being held
-zzz = “MST” if this zone is PARTY MASTER
-zzz = “SLV” if this zone is SLAVED to a
PARTY MASTER in another zone
-zzz = “OFF” if this zone is under LOCAL CONTROL only (either there is no
party master, or this zone has been manually
This response will also be issued in response to pressing the ON/OFF, VOLUME, or SOURCE
keys on a KEYPAD. NOTE the response will be issued if a SOURCE key is pressed on a
zone that is powered OFF even though the key press has no effect on the system. It will be
output at every increment during a volume ramp initiated by HOLDING a VOLUME UP or
VOLUME DOWN key on a keypad. It will also be issued at every increment of a volume
ramp commanded by the
commands (see below).
The MUTE value will be asserted if a *
command has been received, OR if the
volume is run all the way to the lowest possible point (volume off). An active EXTERNAL

It looks like using .VOLUME FORMAT 300 wouldn’t work because the set volume command expects a 0 padded 2 digit number where 0 is the LOUDEST and the 78 is silent. From the manual:


Set volume of zone xx to level yy below max in dB from 0 to 78 dB (include lead 0 for all single-digit values).

RESPONSE: Same response as for *ZxxCONSR

Please advise…

Has there been any update on this? digitalperk, did you get this working? If so, would you mind sharing if you did? I’d be very interested, as I have a Grand Concerto/Grand Essentia hybrid that I’d love to control with RoomieRemote, instead of purchasing one of their $3000 media servers :slight_smile:

They said that they are polling for interest in adding support for NuVo systems in general. It doesn’t seem like this is a priority of theirs.

I have a Nuvo system and would love to see Roomie support this via serial commands.


Hi Digitalperk- I have just started to configure my Nuvo essentia- but am having some issue with the formatting of the roomie codes file to get a a command successfully sent to the device- can you send me a sample of what you have created- e.g. for Zone 1 on- so I can check what I am doing wrong?


Anyone successfully do this? I am having a lot of trouble getting a custom code set for my Nuvo Essentia NV-E6DM on v5. Thank you.