Access to Raw Volume Values

I’d like to be able to display and adjust the raw volume values for my Denon AVR, which shows in tenths of dB (and adjusts in 0.5 increments up/down). I think a similar issue was raised/discussed in the old forum here, but never really was resolved. I’ve found that the %-based changing is not fine-grained enough and it seems like sometimes a % increase will not result in a an underlying change and then another % increase changes by too much, if that makes sense.

I started to put together a plugin to do this, but ran into some problems with the speed of the HTTP requests to the receiver and then realized that the current integration already has the information/capabilities, they would just need to be exposed somehow. Perhaps the AudioVolume capability could be extended ti include a VolumeRaw that is device-specific? Then it could be directly read and changed?

The AudioVolume Capability (Device Object) only comes in as an integer.
-Volume (Integer : 0-100)

I believe The Home Remote is handling the behind-the-scenes math to convert the available volume scale and make it integer based. I think if I understand your issue correctly - you are having some issues becomes sometimes the integer rounding is causing you to skip over one or more of the .5db increments.

I believe you are on the right track of creating your own plugin to access & update those values directly. I believe you can adjust the plugin.PollingInterval value within your plugin to handle the HTTP response variability.

I think you are correct Brian–it is also my understanding that THR is handling the behind-the-scenes math to convert to a %-based/integer scale. That is why I was asking for the underlying “raw” values to also be exposed, giving us the option to bind/manipulate either version (normalized vs raw). Since the device communication and conversion math is already in place, I think it would be relatively straight forward to provide the raw interface as well in the existing integrations, rather than having to put together a custom plugin that has to reinvent 90% of the wheel.

This would have the added advantage for any other devices where you can only have one connection to the device (I’ve read that that is a limitation of at least some Denon TCP interfaces), where there would be no option to have a separate plugin that has its own TCP connection. That’s not a problem in my specific case, but it could be in other people’s.