TTS Announcements?

I’ve tried getting TTS announcements to work through the HACS integration in Home Assistant. I’m using node-red to trigger the announcement using the tts.speak action but have also tried using the action tab in the developer panel.

When I try using media_player.amplipi_amplipi_announcement, I can see from the AmpliPi the announcement channel pops up and then goes away which I assume is expected, but nothing plays.

I’ve also tried using a single zone, like media_player.amplipi_zone_1, I can see the stream switches to external media, but again, nothing happens.

I play announcements out of a homepod using the media_player entity so I’m pretty sure I have my setup correct, I’m just pointing it to the announcement channel instead of one of the other devices I have.

I’ve seen other people on here setting up scripts to run an http request to the device but that seems like it shouldn’t be unnecessary. I’ve tried using home assistant cloud, as well as a local instance of piper to do the tts.speak (which both work on other devices).

I see the following messages in the logs from the amplipi integration

Logger: homeassistant.helpers.entity
Source: helpers/entity.py:1250
First occurred: 11:41:38 AM (1 occurrence)
Last logged: 11:41:38 AM
Updating state for media_player.amplipi_source_1 (<class 'custom_components.amplipi.media_players.source.AmpliPiSource'>) took 0.522 seconds. Please report it to the author of the 'amplipi' custom integration
Logger: custom_components.amplipi.media_players.announce
Source: custom_components/amplipi/media_players/announce.py:118
integration: AmpliPi
First occurred: 12:26:09 PM (1 occurrence)
Last logged: 12:26:09 PM
deselecting due to announcement
Logger: py.warnings
Source: custom_components/amplipi/coordinator.py:126
integration: AmpliPi
First occurred: April 9, 2026 at 5:58:30 PM (185 occurrences)
Last logged: 12:39:49 PM
/config/custom_components/amplipi/coordinator.py:126: PydanticDeprecatedSince20: The `dict` method is deprecated; use `model_dump` instead. Deprecated in Pydantic V2.0 to be removed in V3.0. See Pydantic V2 Migration Guide at https://errors.pydantic.dev/2.12/migration/ return await self.set_data(resp.dict()) 

I don’t think any of those are really indicating an issue with the announcement test I’m doing but figured I should provide them.

Is it possible to using tts.speak with the Amplipi to send announcements?

Hey Derk!

Apologies for the long wait on this one! I can confirm that tts.speak does work with the integration, at least on my end. If you send it to the announcement channel it will announce over all zones, if you announce directly to a zone or group it will play from those speakers, and if you announce via a source it should announce to the zones/groups connected to said source.
I’ve done this successfully with Google’s TTS as well as Piper, to all three media_player subtypes listed above directly and through automations (one such automation can be made with this blueprint)
I will say that in my experience the announcements can be somewhat quiet, so maybe that’s what you’re running into?

For those logs, it looks like the deselecting due to announcement one was a logger used for testing that we forgot to remove (it isn’t an actual issue) and the PydanticDeprecatedSince20 warning is warning that upcoming package versions will break our integration, something that isn’t a problem in this current version but could be soon pending their updates.

Could you try using this blueprint and adjusting the volume during the announcement and let me know if you can hear it then? if the answer is still no, I’d suggest testing the announce endpoint by going to amplipi.local and then Settings → About → Browsable API → Announce → Try. This will do a known-good announcement that should be audible, if that works it’ll isolate this issue as being on the Home Assistant side for sure, if you can’t hear it then your announce line is having troubles that we’d like to chase down in the AmpliPi logs at Settings → About → Logs, send those to us here or at support@micro-nova.com and we can move forward from there.

To recap the steps here:

  • Test with this blueprint with adequate volume
  • Test directly on amplipi.local at Settings → About → Browsable API → Announce → Try
  • Grab logs at Settings → About → Logs and send them to us here or at support@micro-nova.com
1 Like

Hey, thanks for the reply.

I wasn’t able to get the blueprint to work even when using a known working media player. I don’t really use home assistant native automations so I could be doing it wrong.

I updated the software to 0.4.11 and now the announcements are working with my setup in node-red without changing anything. I wonder if I was hitting some bug in 0.4.10 or maybe another reboot was in order, who knows.

1 Like

What’s even weirder is that I just realized that the update didn’t even go through, I’m still on 0.4.10 but somehow the announcements started working after I started the update, even though it didn’t take.

I tried running the update again and it still didn’t seem to take even though there were no errors that I saw in the updater logs and it looks like it ran to completion.

I even downloaded the release from Github and ran that:

Even after a reboot and power cycle, it still says 0.4.10.

It seems there was a bug in the recent update that caused the version number to not update appropriately, I’ve revised the release to fix that

You should be running the most recent code now, just with the wrong version number. If you were to update again then you’d have the correct version number as well

As for your blueprint not working, it’s possible that the blueprint was made too restrictive for your setup; I’ve made an issue for what I think could’ve been happening there, though it’s possible that we’ll sidestep that issue when we retire blueprints later on