Please explain as if I was 5

I really, really tried. And I just can’t find it.

Following setup: Voice PE, using a voice from elevenlabs.io. Sorry I’m only allowed one pic and the other one seems more important. Anyway, this works well, via a pair of old speakers AUX’d to Voice PE.

But then, I have a top of the line Sonos system. Which is perfectly usable in the Cloud settings:

I can’t, for the life of me, not figure out how to route whatever Voice PE says to the Sonos system. I don’t want to play music, no Plex, no nothing. I just want whatever HA has to say to me via the Sonos system. Which setting am I not finding? Thanks a bunch & I fully realize the answer will be super embarassing for me :wink:

Found this after posting: Redirect Voice PE Replies to Sonos

Will try that. If anyone has an easier solution at hand, please don’t hesitate :wink:

Sadly, it doesn’t work without taking over control (ESPHome) over the VoicePE, adjusting the config and using one or the other hacks from the thread you linked.

Let’s hope the devs notice all these threads about the users who wish to use different media players as output and add this as a feature sooner than later. :slightly_smiling_face:

3 Likes

sigh OK then, hacker hat on. And yea, THAT would be a biggie! Christmas maybe :wink:

I had a challenge similar to you when I needed pipe the text to my mobile phone speaker instead of the M5Stack Atom Echo one because it wasn’t load enough.

As @Thyraz wrote, you have to take control over the VPE and enter something along this line in the on_tts_start section:

## Sending Output to Pixel 9a
    - homeassistant.service:
        service: script.play_tts_on_pixel_9a
        data:
          tts_text: !lambda 'return x.c_str();'  

And this is the script.play_tts_on_pixel_9a that does the talking:

alias: Play TTS on Pixel 9a
sequence:
  - data:
      message: TTS
      data:
        tts_text: "{{ tts_text }}"
        media_stream: alarm_stream
        ttl: 0
        priority: high
    action: notify.mobile_app_pixel_9a
mode: single
fields:
  tts_text:
    description: Text to speak
    example: Hello from ESPHome

You could also send tts output url to sensor in HA. Use sensor change as trigger for automation. Automation play tts url on desired device