This has bothered me for the last 2 years so I'm looking for fresh minds.
The last time I posted this there were no solution - that worked for me.
I can't set the volume of a Chromecast device by using setVolume; the command does nothing. Even the Speak command var Volume does not work.
The only way I can set the volume is to Speak a " ", wait a few seconds and then setVolume.
People have suggested Initialize first but that does nothing as well.
You can see from the screen capture I started with a vol of 40, it randomly goes to 38, speaks a blank, the changes vol to 36, 53 and then 40. Ending at 40 is never the result, lucky this time.
In the second example of events you can see I send a setVolume of 40 but the value show as blank and then I get my usual random volumes.
I know the HE devs are busy with involved beta work but maybe someone up the ladder has time. 
This test rule works for me (the device name is "Speaker - Office GO"):
Note: you are correct that the "Speak command var Volume does not work." It's been broken for a LONG time, at least with respect to a Chromecast device.
I'm using 2 Google Nest Mini's with the Chromecast Audio driver.
I have 5 mini's, a JBL and 4 Homes (in 2 stereo pairs).
I use the Chromecast Audio driver as well.
I am setting volumes on groups and one mini.
I tried just a plain mini with debug on.
I got no log entries and no events.
If I do a Speak " " first I get a log entry for the setVolume after the Speak " ".
I could try an RM rule but I'll have to investigate on whether it can be called by my startup piston from WC or run on the startup event.
I haven't used RM since SmartThings. 
EDIT: WC has an Execute Rule command so maybe some hope.
Well, I made a rule and executed it while in RM and it set my 4 groups to 40 when I initially created it and pressed Run Actions.
Editing and pressing Run Actions doesn't do anything now even if I remove the trigger event.
I set all my groups to 45 and run it on startup and this is what I get. One group changed. 
There isn't even a Value set.
Have you tried setting the volume on each speaker individually? That is, one action per speaker.
Yes. I tried one single mini. Didn't seem to matter.
I'll change the rule to one single speaker and try a few reboots tomorrow when the wife doesn't care about darkness, reboots and speakers, Oh My.
Throwing this out there, since I have no idea whether itโs relevant: do you have Chromecast polling enabled? Itโs an option in the Chromecast integration app.
I tried that early on but it made no difference.
It's not that they don't work properly, I just can't set the volume reliably.
From the brief tests I did last week/week before I couldn't get mine to speak at a particular volume as one command. Whatever volume was already set is what they would announce at. If I set volume to 50 in the commands panel, then send a message to the speaker at volume 80, it speaks at 50. So the set volume works for me, the speak a message works for me but ignores the volume parameter sent with that command.
Yes the volume is broken when used with Speak.
My issue has always been trying to set all the volumes on boot to be the same.
setLevel command mostly sets random numbers and in the logs you'll see random volume numbers magically being reported.
This has always been beta so maybe after the new software release the HE team can relax and have a look.
Another oddity I just found is that I can set the volume if it is currently playing without Speaking a " " first so as long as the group/speaker is activated setVolume works.
Normally when experimenting with this there isn't any groups playing content.
@gopher.ny
1 Like
Another crazy example.
setlevel to 38 and this is the output.
Send 38, get 39.

