johnnyt Posted August 22, 2023 Posted August 22, 2023 I've set the volume to multiple values between 10 and 70 before calling the 'say' action and the message is always at the same volume. Fortunately not too loud for my current use case but also not quite loud enough in some situations. Aside from being able to adjust the volume for the particular speaker/room, I'd like to be able to set it according to the time of day, e.g. not as loud at night / early morning. So it's an important thing that I'd like to be able to change. I'll also likely eventually have a use case that will need lower voice volume, e.g. my bedside speaker. Below is my program but it doesn't matter what % value I use - the say command is at the same volume all the time. (I don't know if I need to do this but I add a short wait after command to adjust the volume.) Workshop Door Open Announcement - [ID 0444][Parent 0445] If 'Lights / Basement / Workshop / Workshop Lights' Status is Off And 'Lights / Basement / Workshop / Workshop Door Open Sensor' Status is On Then Wait 20 seconds Set 'ST-Sonos / Dining Room' Player Volume 50% Wait 1 second Set 'ST-Sonos / Kitchen' Player Volume 50% Wait 1 second Set 'ST-Sonos / Kitchen' Say Workshop door is open. Please close the door. Wait 10 seconds Set 'ST-Sonos / Dining Room' Say Workshop door is open. Please close the door. Else - No Actions - (To add one, press 'Action') I can see in the device node and the Sonos (S1) app that the volume is changed by the program. It's just the say command appears to override whatever the speaker is set to, then return it to that value. The latter is actually ideal functionality but I do need to be able to adjust the volume of the voice. I see in the underlying API functionality that the NS uses (https://github.com/jishi/node-sonos-http-api) that the command for TTS service has a switch to set volume: /[Room name]/say/[phrase][/[language_code]][/[announce volume]] Does the volume need to be sent in the action and it's not being done today? How do people change the volume for the "say' command?
Recommended Posts