Access to Raw Volume Values

I would love to just use the built-in integration (you have no idea how long I resisted throwing together my own plugin :slight_smile:). I was just looking back through my plugin and I see I was also using it for a couple other things, but it was just additional data. I pull the InputFuncSelect and SurrMode as well. I don’t care as much about the input, as in my setup that is fixed, but I really like being able to check the surround mode to make sure the audio stuff is working correctly. I haven’t checked recently, perhaps those are already exposed in the built-in device?

I can definitely look through and let you know. I can also let you know the TCP commands that apply if that’s a help. I appreciate the push for integrated devices.

There are MediaCommands so you can change the change the surround mode. But there’s no way to view current mode. I’ll try to add that as well.

InputFuncSelect should already be available through the MediaInputSource capability.

I will have 2 new attributes available for you in 3.9.1:
VolumeDecibel
SoundMode

Here is everything I am using for the TCPClient in my Denon plugin. I am not using the HEOS protocol on this receiver at this time. I have a Denon AVR-S650H.

I do fully recognize that many of these commands can be addressed with existing attributes, so I am sharing this more for reference of what I use, not for a best practice.

Media Commands / TCP Commands:

"PowerOn"	    : "PWON",
"PowerOff"	    : "PWSTANDBY",
"VolumeUp"      : "MVUP"
"VolumeDown"    : "MVDOWN"
"DirectionUp"   : "MNCUP",
"DirectionLeft" : "MNCLT",
"DirectionDown" : "MNCDN",
"DirectionRight" : "MNCRT",
"Select"        : "MNENT",
"Back"          : "MNRTN",
"Info"          : "MNINF",
"Setup"         : "MNMEN ON",
"Muted"         : "MUON",
"Unmuted"       : "MUOFF",

Other items:

"MV###"         : To set the volume to a specific level
"MVMAX"         : The max volume of the receiver
"PSSWL"         : Subwoofer level (not the same as Bass on the equalizer)
"SI..."         : To change the input (SI? reads the active input)
"MS..."         : The surround sound mode

Attributes that I have added

Bass [I use this as the subwoofer level, but should probably rename it]
MaxVolume

That sounds great, Bill, thanks! I’m eager to try it out!

Updates are available in the 3.9.1/3.9.2 releases. Sync your devices & it should add the new capabilities. I also implemented a few changes that should help responsiveness when performing increment operations on the volume.

@amingle please post your code in the Plugin section when you get the chance. Even if @hotelfoxtrotnovember ends up using the built-in integration, it can still be a good example to learn from for those interested in plugin development.

I tried the new VolumeDecibel attribute and all looks good, including the increments of 0.5. It all seems very responsive too.

Although I have two future requests (to make it perfect :wink: ). It would be nice if the whole numbers are shown with .0 at the end. In my opinion, it looks optically nicer.

Secondly, it would be great if I could get all the volume values working with a slider. The slider always increases/decreases the volume value with an integer. In my own plugin I use a scale of 0 to 196 for the slider, so that I get volume values from -80 to +18 with an increment of 0.5

I’ll try to update the default string representation of the VolumeDecibel in the next release. I agree, that probably should show the decimal for all values.

I’ll look into the slider issue. Maybe I can add a new Step property.

I’ve only had a few minutes to play around with the changes, but everything seemed to work well. For the moment, I’ve completely removed my custom plugin, which is awesome!

I completely agree with @RedGrant about displaying decibels with the “.0” at the end to make display nicer. Related to that, I found a way to format the label displaying the VolumeDecibel value with " dB" after it (multibinding with “{0} dB”). Out of curiosity, (since we’re talking about making things “perfect” :wink: ), is there any way to add an offset to the the VolumeDecibel value (or just do simple arithmetic operations on any value in general)? I ask because my receiver is reporting the value as, for example, “-15.5”, which I had previously been “shifting” to be explicitly off of the 80 dB reference level (so it would be “65.5”). At this point, I think that’s about the only real difference from how my plugin was doing it.

Plugin is now uploaded: https://community.thehomeremote.com/t/denon-avr-plugin/654

1 Like

Looks great! Thanks for sharing!

Bill, is there any possibility of adding HDMI Output (VSMONI) to the built in integration?

That’ll be a difficult one for me to add to the built-in Denon/Marantz integration. I’m almost certain there’s no way to read back the current state of that setting through the HTTP interface. I might be able to add the command only (no feedback/state). Test these URLs to see if they send the command correctly. If they do, I could probably add them as a MediaCommand.
http://192.168.1.133/goform/formiPhoneAppDirect.xml?VSMONI1
http://192.168.1.133/goform/formiPhoneAppDirect.xml?VSMONI2

Unfortunately I am receiving access denied on both URL’s.

Well it was a nice to have as I have it implemented in my old Irule setup. By the way thank you for all of your hard work on The Home Remote. The learning curve was pretty steep in the beginning but things are starting to come together.

Check the port. Look at the URI the Designer has assigned to your Denon device. It’ll show you the base URI you need to use for this request. I’ve got a receiver that is using 8080, not the default port 80.

That did it Bill. Changed the port to 8080 and it worked every time.

Great that in 3.10.0 the VolumeDecibel attribute now always uses 1 decimal precision. :slight_smile:

I was just wondering why you did add the unit (“dB”) at the end. As written above, this could be added with multibinding, but I have no idea how I could remove it. I use a large font to show my volume levels and now I have to present this static information (“dB”) in a large font too.

Any news about the Step property you mentioned earlier? By Step property do you mean something like an increment value property?

Add a “.Value” to the reference to exclude units.

There haven’t been any changes to the Slider control yet.

Ah, ok great! … A day without learning is a day wasted :wink: