Access to Raw Volume Values

You know, I probably shouldn’t have suggested that. It won’t really help you with your indiscrete volume up/down commands. Here, you aren’t actually incrementing or decrementing a value.

Did you say you are using both the Home Remote’s Denon device & your Plugin in the same project?

I’ll try to add those raw values for you in 1 of the upcoming releases. Although I’m not sure if I’ll call them “raw” or how exactly I’ll label them. In the TCP API I think the raw values actually are scaled between 0 & 100.

Actually, I am using discrete values–the plugin I threw together presents/manages the volume in dB, so the buttons increment/decrement the Volume value. I wanted the label that was bound to the value to always display what the intended value was even if it was still waiting to get updated from the AVR.

I am using both Home Remote’s Denon device and the plugin in the same project. I actually use the built-in device for Mute and Power On/Off and maybe a couple other things. I only use my plugin for volume because I wanted to display and manipulate the volume in dB rather than in % terms.

It’s been a while, so I don’t recall whether I also experiencing the long delays in updates using the built-in Denon device when increasing/decreasing volume–I was definitely more focused on the display at that point. I also don’t recall if I was solely incrementing/decrementing the volume or if I also played around with the VolumeUp/VolumeDown commands with the built-in device. Is there any reason the plugin might be experiencing some kind of variable delay due to async i/o calls vs the built-in device in terms of the volume adjustments? For example, should I try using VolumeUp/VolumeDown with the built-in device and just using my plugin to read/display the volume in dB?

Appreciate all of your efforts with this!

Yes, I would say just use the built-in device or see which one works best.

I also think getting rid of 1 of those 2 devices will help solve your issue with delays. Either use a Plugin or the official integration, don’t use both. Maybe you can use @amingle’s Plugin until I get these raw values added for you.

This is still something I am figuring out. I have both a slider and increase / decrease buttons for the volume. If I use the slider, I run into issues unless the ChangeInterval is set higher. However, if I increase the ChangeInterval, then I am experiencing too much of a delay on my increase / decrease buttons. I redirected my attention and have not done any more troubleshooting in a couple weeks on that.

Let me work on cleaning up my plugin and getting it posted to see if it will help.

@amingle, What else do you need from the official integration? Is it only the raw volume? Are there any other commands you need?

I’d eventually like to get everyone using the built-in integration so if there is something you need I’ll try to add it.

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?