Is it possible to have the assist respond from a different media player?

I have the M5Atom up and running and it is great, however the speaker leaves everything to be desired. As a proof of concept though, it’s super helpful.

What I’m wondering is, is there a way to reroute the tts from piper to another media device (someday I would love to link a specific media player (sonos in a room) to a specific m5atom / microphone).

From what I’ve read and played around with we can do this with a specific automation via the sentence trigger, with a predefined tts output, but I am thinking more of the dynamic responses like “turning on the lights” or whatever OpenAI responds with.

Have I missed where this is possible right now or is it something on the roadmap?

Try reading through this. Near the bottom, you’ll see it’s possible to add some lines to your ESP config, where a mic can be linked to a particular media player for responses.

Got this from the helpful lot over on Discord:-)

1 Like

I’m looking for a similar solution. I have built a few Wyoming Protocol satellite devices but only want to use them for the mic - then tie them specifically to Sonos speakers in the room where the satellite exists. So, taking the voice command from the Satellite and then redirecting the response to Sonos. I have added ChatGPT to the mix and really like the results. I’ve seen a few posts where it has been accomplished using Node-Red, but I cannot find the details on the how.

It would be nice if it was native in the Voice Assistant setup in Home Assistant.

1 Like

looking for this same capabillity

Check my solution:

With esphome satellite’s it is quite easy, add the following:

voice_assistant:
  on_listening:
    - light.turn_on:
        id: led
        blue: 100%
        red: 0%
        green: 0%
        brightness: 100%
        effect: pulse
  on_tts_start:
    - speaker.stop:
        id: echo_speaker
    - light.turn_on:
        id: led
        blue: 0%
        red: 0%
        green: 100%
        brightness: 100%
        effect: pulse
    - homeassistant.service:
        service: tts.cloud_say
        data:
          entity_id: media_player.CHOSEN_MEDIA_PLAYER_ENTITY
        data_template:
          message: "{{ my_stt }}"
        variables:
          my_stt: return x;

you need to change your ‘on_tts_start’ actions.

1 Like