Still can't make tts.speak work

That looks good. Do you have another type of media player to test on?

I’ve been testing it both on this Sonos player (terrassen), and on my doorbell (esphome media_player).

Can you play music on these?

Yes. This is my node red code for ringing the doorbell:

return { payload: {
    domain: "media_player",
    service: "play_media",
    target: { entity_id: target },
    data: {
        announce: true,
        media_content_type: "music",
        media_content_id: "http://ha.local:8123/local/sounds/" + file,
    }
}};

It works very well.
The sonos player is used as a second doorbell and for spotify music.

Select your device in its integration, browse media/TTS/ and try in there and see what happens.

Under the sonos integration / Text-to-speech I have cloud, google no com, google en com and piper.
I tried the sample text on all of them.
No reaction, and nothing in the log file.
from the same UI I can play my spotify playlists etc.

Are the players on the same subnet as your home assitant server?

Yes they are

Well, Im out of ideas here…

Thanks for trying. There must be something rotten deeper in my system, I guess.
In my cabin, which has a far simpler configuration, this works just fine.

Have you tried removing those devices and adding them back in?

Yes, the sonos player was removed, used in my cabin (and working), moved back and re-added. no change.

I took a look at this is a debugger, as i’ve been doing some dev work on the Sonos integration, and the URL it will send to Sonos using tts.speak and google is something like this:

http://172.28.84.88:8123/api/tts_proxy/a5f6236c0838df69451017f9a618041be2f225db_en_-_google_translate.mp3

If you turn debug on for Sonos it will log the URL for

_LOGGER.debug("Playing %s using websocket audioclip", media_id)

You can then use that URL in a browser and it should play. If it does not then there’s may be a firewall, network config issue.