openhab-google-assistant
openhab-google-assistant copied to clipboard
TV class maximum volume level initially set to 100 not recognised
When I setup a TV group, I initially set the maximum volume level to 100 with the openhab GUI. For the first few weeks volume commands did not appear to work. While fault finding, I asked google to set the volume to 40, but it responded that the maximum allowable level was 10. I changed the maximum volume level to 99 and now all volume commands work perfectly ("set volume to...", "volume up", etc.). As a test I subsequently set the maximum volume level to 120, however this was accepted and everything continued to work. I then set the maximum volume to 100 and it continues to work. I also had some additional test TV groups for which the volume did not work either. After the above changes to one TV group, all TV groups now work perfectly. It appears there are some bugs that only occur initially, but once they are resolved with one device, they are resolved for all devices. An example of this is the Light group colorTemperature issue I raised earlier.
There is a strong chance the bug is actually on the google side. It might be worth putting some hints in the documentation to work around them. For instance "Initially set the maximum volume level to a number less than 100. After the device is operational you can subsequently change this to a value of 100 or greater".
Hm... interesting observation.
Let's see if I find some time to reproduce some of the issues you stated.
My first guess would also be an issue on Google's side, as there is no logical difference between the initial setup and later adjustments...
OK, some more strange volume behaviour. Below is my Google Assistant metadata for a TV class group named Amplifier I have:
value: TV
config:
availableApplications: TF009900=Hauraki:Ho raki,TF009660=George FM:George,TF009500=bFM,TF009020=The Rock
volumeDefaultPercentage: 35
volumeMaxLevel: 99
availableInputs: TUNER=tuner:radio:FM,TV=kodi:TV,VDP=volumio:music
lang: en
levelStepSize: 5
Yet, when I ask "Hey Google, turn the Amplifier Volume up to 30" it responds, "Sorry, the max volume is only 10".
When I ask "Hey Google, what volume is the amplifier set to? it responds "the volume is currently set to 53%" despite openHAB showing it as 20% (see below).
Switching the Power, Mute, and Inputs all work as expected.
Could you share the item configuration too?
Not much I can share since I set it up using the GUI, but here is a screenshot:
And here is the relevant part in /var/lib/openhab/jsondb/org.openhab.core.items.Item.json
"DenonMarantzAVR_MainZone_Volume": { "class": "org.openhab.core.items.ManagedItemProvider$PersistedItem", "value": { "groupNames": [ "denon_amplifier" ], "itemType": "Dimmer", "tags": [], "label": "Volume", "category": "SoundVolume" } },
I set up some test items with the same config as yours. Setting the volume works just as expected. The only strange behavior I noticed is happening while querying the current state. It quite often reports an old state and also does not ask the OpenHAB API for the current value as it would normally happen for state reports. I am a bit confused now...
Now I got it. Google always responds with the current device's (smartphone or google home) volume and not the one of the asked device. So far I could not figure out how to ask for the volume of the asked device...
I guess there is an issue with the Google Assistant interpreting those queries :/
I can confirm your findings. I have also noticed the behaviour is different if I say "the amplifier" rather than just "amplifier". If I put "the" in front, google sets the volume of the device I am talking to - whereas if I just say "amplifier" it correctly sets the volume of the amplifier group. Strangely, the "Sorry, the max volume is only 10" behaviour has vanished. I tested it multiple times this morning and it did it every time. I haven't changed any of the settings, but now it realises that it can go beyond 10. Google seems very buggy...