[Help Needed] Volume control for Chromecast not working as expected

I have recently purchased an Andriod TV which has Chromecast built-in. I’ve got everything setup in terms of Things and Items. A simple sitemap allows me to adjust the volume, mute and view what’s happening. So the binding is working great as far as i can see.

Problem;
The wife complains the TV is to loud when she is in bed.

Solution;
Detect if the Wife has gone to bed and adjust the TV volume if it’s still switched on.

Idea;
Using two motion sensors, one in the Hallway and one on the Landing. Switch on the Bedroom lamp and lower the volume on the TV. Once the Lamp is switched off lower the volume further.

So far I have created two rules to create an automated solution. So I’m partly there.

rule "Getting Of To Sleep"

when
	Item Master_Bedroom_Table_Lamp_Dimmer changed
then
	if(Master_Bedroom_Table_Lamp_Dimmer.state < 1 && Time_Of_Day.state == "NIGHT" || Time_Of_Day.state == "BED") {
		First_Floor_Landing_Light_Switch.sendCommand(OFF)
		Master_Bedroom_Ceiling_Light_Switch.sendCommand(OFF)
		Master_Bedroom_Occupied.sendCommand(ON)
		logInfo("org.openhab","Master Bedroom: Table lamp switched off.")
		if(Living_Room_TV_Power.state == ON) {
			Thread::sleep(50)
			Living_Room_TV_Chromecast_Volume.sendCommand(16)
			Thread::sleep(50)
			Living_Room_TV_Chromecast_Volume.sendCommand(16)
			logInfo("org.openhab","Living Room TV: Turning down the volume.")
		}
	}
end

rule "Landing Montion Sensor Activated"

when
	Item Landing_SP3102_Motion changed
then
	if(Landing_SP3102_Motion.state == ON) {
		postUpdate(Landing_Motion_Sensor_Last_Activation, new DateTimeType())
		if(Hallway_SP3102_Motion.state == ON && Master_Bedroom_Occupied.state != ON && Time_Of_Day.state == "NIGHT" || Time_Of_Day.state == "BED") {
			Master_Bedroom_Table_Lamp_Dimmer.sendCommand(20)
			logInfo("org.openhab", "Master bedroom: Table lamp is ON.")
			if(Living_Room_TV_Power.state == ON) {
				Thread::sleep(50)
				Living_Room_TV_Chromecast_Volume.sendCommand(22)
				logInfo("org.openhab","Living Room TV: Turning down the volume.")
			}
		}
	}
end

What I’ve found is that the volume doesn’t change as I would expect. If the current volume level is 28 and this line is executed; Living_Room_TV_Chromecast_Volume.sendCommand(22) the volume only changes to 26. It doesn’t seem to matter what value I send the volume only changes by 2. Has anyone else found this and managed to resolve the issue or is there an alternative workaround?

I’m currently running on OH2.3.0 but may upgrade to OH2.4.0 soon, however is this issue is fixed in the latest version then it will encourage me to upgrade sooner.

Thanks in advance