Better TTS with volume control

Google cloud is not working for whatever reason half the time. However looking at other TTS none of them seem to support volume control like



data:
  message: <speak><prosody volume="+80dB">"{{ message }}"</prosody></speak>

I have some of Google Home speakers around the place and each of them have a different volume and some of them are hidden behind the TV so I cannot simply set the volume and reset it after each speech.

Whatever reason if I interact with the Google Home normally I can hear the reply.

With TTS it is so soft I cannot hear it unless I’m standing right next to it. I have to add 60 DB to make it sound like normal replies.

It seems Google is the only one that can take this setting?

What you can do is set the volume before the message then set it back again, for example

      - service: media_player.volume_set
        data:
          volume_level: 1
        target:
          entity_id:
            - media_player.hallway_speaker
            - media_player.living_room_display
            - media_player.lounge_display
            - media_player.spa_room_speaker
            - media_player.dining_room_display

Then your code
Then…

      - service: media_player.volume_set
        data:
          volume_level: 0.7
        target:
          entity_id:
            - media_player.hallway_speaker
            - media_player.living_room_display
            - media_player.lounge_display
            - media_player.spa_room_speaker
            - media_player.dining_room_display

Hope this helps.

Because each speaker has a different default volume and I called the TtS with a different speaker each time then it’s going to be very hard to write some code that has all this information in