When using the VolumeDB Zone control channel, the item is never updated with the current value (in dB).
Also, setting the value does not seem to have an effect.
The value remains at 0.
Setting the value has no effect.
It does not seem (in the code) that the CHANNEL_VOLUME_DB is updated in refreshFromState or zoneStateChanged...
As for why setting the value has no effect, I did not dig into it in the code.
Setting the value using cUrl works (setting to -40dB):
curl -X POST -d '
item:
Dimmer Yamaha_Volume_DB "Volume [%.1f]"
Sitemap:
Setpoint item=Yamaha_Volume_DB label="Volume DB" minValue=-80 maxValue=12 step=0.5
Cannot display/Set the volume in DB while the IVR displays the volume in DB.
OpenHab 2.2.0-1
Ubuntu 16.04
I will plan to look into this as part of my upcoming PR. However, this would go into OH 2.3.0-snapshot version.
Not sure if this is the cause for original bug, but with RX-V3900 volume functions do not work because receiver is handling volume with <Vol>...</Vol> instead of <Volume>...</Volume> as in current implementation.
So in ZoneControlXML.java fixing following makes everything work as it should:
Update():
value = XMLUtils.getNodeContentOrDefault(basicStatus, "Volume/Lvl/Val",
String.valueOf(YamahaReceiverBindingConstants.VOLUME_MIN));
replace with:
value = XMLUtils.getNodeContentOrDefault(basicStatus, "Vol/Lvl/Val",
String.valueOf(YamahaReceiverBindingConstants.VOLUME_MIN));
setVolumeDB:
comReference.get().send(XMLUtils.wrZone(zone,
"<Volume><Lvl><Val>" + String.valueOf(vol) + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Volume>"));
replace with:
comReference.get().send(XMLUtils.wrZone(zone,
"<Vol><Lvl><Val>" + String.valueOf(vol) + "</Val><Exp>1</Exp><Unit>dB</Unit></Lvl></Vol>"));
and then similarly in SetMute. Since I have only RX-V3900 I don't know if using
My receiver is a RX-V675, the volume control works when using the volume in percentage, the db items however do nothing.
@MaximeLussier I have made the volumeDB fix in my fork. The custom build JAR for 2.3.0-snapshot is on my DropBox. Once tested I plan to push a PR with all my other ongoing changes.
Are you able to verify the fix on your model? On my AVR the volumeDB works like a charm now :)
To run the binding you would first have to upgrade your OH to latest unstable 2.3.0-snapshot, then uninstall stock yamaha addon, and put my custom JAR in the addons folder of OH.
@mikkov1 thanks for sharing. This is really weird that Yamaha expects a different element on RX-V3900 for the volume. Other models work fine and the problem you describe has a different root cause here. It sounds like none of the volume/mute channels work for you?
Among other pending changes, I could look into fixing this too for your model. Please send me the XML for your device:
http://<Your_Yamaha_IP>/YamahaRemoteControl/desc.xml
@zarusz you are right, none of the volume channels work. Here is the desc.xml from RX-V3900:
`````xml
However, now with versions after 2.1 release discovery of zones does work for my model at all. The reason is that binding now expects
V119
There is post about this in the community, but should I make separate issue for this? Anyway there is no point really to fix volume issue before this can be addressed also.
Thanks for support and all the effort.
@zarusz Thanks, I will test the fixed jar as soon as possible.
I've attached the desc.xml file from my RX-V675 if it can help in any way to improve the plugin
@zarusz Actually on 3900 description comes from
http://192.168.0.1/YamahaRemoteControl/UnitDesc.xml
Here is the file:
Thanks for both the desc XMLs. I will attach this to the developer documentation in my upcomming PR.
@mikkov1 regarding:
However, now with versions after 2.1 release discovery of zones does work for my model at all. The reason is that binding now expects
node in device information xml and my receiver does not provide it. All it gives is
There is post about this in the community, but should I make separate issue for this? Anyway there is no point really to fix volume issue before this can be addressed also.
Nice, we are getting even more differences between models now ;)
Ideally this should require a separate issue. Please loop me into the conversation (same nickname) or please share the link here. I will see what I can do about <Feature_Existence> on your model.
As part of this ticket I will address the volume element name only. With that could you please send me the response this HTTP POST http://<IP>/YamahaRemoteControl/ctrl request:
<?xml version="1.0" encoding="utf-8"?><YAMAHA_AV cmd="GET"><Main_Zone><Basic_Status>GetParam</Basic_Status></Main_Zone></YAMAHA_AV>
You could use a tool like Postman.
Here is output for Main Zone Basic status:
Main_Zone_Basic_Status.txt
Here is link to the forum post I wrote:
https://community.openhab.org/t/yamahareceiver-zone-discovery-not-working-with-rx-v3900/38350
@zarusz I installed an instance of openhab2 and tested the addon jar you provided. The dB volume is indeed fixed and works as expected!
PR has be submitted: https://github.com/openhab/openhab2-addons/pull/3264