Chime TTS - Play audio before/after TTS audio lag free

I’m on 2024.08.0 and I can access and modify the Chime TTS settings. Can you please enable debug log messages, enter the configuration, and then share the log messages?

1 Like

Thanks for your reply!

I enabled debug logging and entered the config within the integration settings, but it didn’t seem to generate any log files.

If I try to call chime_tts.say from Actions under Developer Tools, I’m missing all the fields that used to exist.

These are the only logs I can seem to find for chime_tts:

Unable to parse services.yaml for the chime_tts integration: expected str for dictionary value @ data['say'|'fields'['chime_path']['selector'['options'][26]['value']
August 6, 2025 at 3:22:23 PM - (WARNING) helpers/service.py - message first occurred at August 6, 2025 at 3:22:23 PM and shows up 2 times
/usr/local/lib/python3.13/site-packages/pydub/utils.py:300: SyntaxWarning: invalid escape sequence '\(' m = re.match('([su]([0-9]{1,2})p?) \(([0-9]{1,2}) bit\)$', token)
August 6, 2025 at 3:15:38 PM - (WARNING) Chime TTS (custom integration) - message first occurred at August 6, 2025 at 3:15:38 PM and shows up 4 times

Anything else I can try? Thanks again.

With the latest version of HA, there are no options to select when creating a new automation. Existing automations are working fine but can only be edited in YAML

It looks like your chime_tts/services.yaml file may have been corrupted.

Can you please try the following?

  1. Uninstall Chime TTS
  2. Reinstall Chime TTS
  3. Restart Home Assistant

I uninstalled Chime TTS via HACS, reinstalled, and restarted HA. I am still seeing the same log issue related to the services.yaml, and the configuration options within automations or Developer Tools for chime_tts.say still doesn’t display.

It seems like the removal of Chime TTS didn’t alter the underlying integration config (all my previous settings persisted), so perhaps something more nuclear is required? But I am not the only person reporting the issue with 2025.08 and not having the ability to configure existing automations outside of YAML.

Edited: I tried again, this time deleting the integration before removing from HACS. I confirmed that all configuration files were removed. Reinstalled and reconfigured. The same log error related to services.yaml shows up again. I even tried manually editing services.yaml to remove references to id027, or replacing null with a path, but it appears that the file gets auto-generated.

1 Like

Hi, thank you for the fantastic integration!
I need to add a few seconds of silence to the end of my morning announcement because my Denon AVR tends to repeat the message, which I can’t stop precisely enough. Anyway, the chime_tts problem seems to be with not recognising end_chime_delay.
I did a few tests (script and the results are below):
Can you please help – what am I doing wrong, and is there another way to add to the announcement (extend end_chime_path or add silence)? Hopefully it’s not a bug. :slight_smile:
Best, Danko

alias: Test TTS Chime Generation
description: Test script to verify TTS generation with chimes and timing
mode: single
variables:
  # Test message
  test_message: "This is a test announcement. The weather today is sunny with a maximum temperature of twenty five degrees celsius. Have a wonderful day!"
  
  # Home Assistant base URL
  ha_base_url: http://192.168.1.10:8123

sequence:
  - alias: Test 1 - Standard chimes (fanfare + crickets)
    action: chime_tts.say_url
    data:
      message: "{{ test_message }}"
      tts_platform: cloud
      chime_path: fanfare
      end_chime_path: crickets
      announce: false
      offset: 200
      tts_playback_speed: 90
      gender: female
    response_variable: test1
    continue_on_error: true

  - alias: Send Test 1 results to Telegram
    action: notify.telegram_danko
    data:
      message: |
        🔬 TEST 1 - Standard (fanfare + crickets):
        Duration: {{ test1.duration | round(2) }} seconds
        URL: {{ test1.url }}

  - delay: "00:00:02"

  - alias: Test 2 - With end_chime_delay
    action: chime_tts.say_url
    data:
      message: "{{ test_message }}"
      tts_platform: cloud
      chime_path: fanfare
      end_chime_path: crickets
      end_chime_delay: 5000
      announce: false
      offset: 200
      tts_playback_speed: 90
      gender: female
    response_variable: test2
    continue_on_error: true

  - alias: Send Test 2 results to Telegram
    action: notify.telegram_danko
    data:
      message: |
        🔬 TEST 2 - With 5s end_chime_delay:
        Duration: {{ test2.duration | round(2) }} seconds
        URL: {{ test2.url }}

  - delay: "00:00:02"

  - alias: Test 3 - No end chime
    action: chime_tts.say_url
    data:
      message: "{{ test_message }}"
      tts_platform: cloud
      chime_path: fanfare
      announce: false
      offset: 200
      tts_playback_speed: 90
      gender: female
    response_variable: test3
    continue_on_error: true

  - alias: Send Test 3 results to Telegram
    action: notify.telegram_danko
    data:
      message: |
        🔬 TEST 3 - Only start chime (no end):
        Duration: {{ test3.duration | round(2) }} seconds
        URL: {{ test3.url }}

  - delay: "00:00:02"

  - alias: Test 4 - Try silence as end chime
    action: chime_tts.say_url
    data:
      message: "{{ test_message }}"
      tts_platform: cloud
      chime_path: fanfare
      end_chime_path: silence
      announce: false
      offset: 200
      tts_playback_speed: 90
      gender: female
    response_variable: test4
    continue_on_error: true

  - alias: Send Test 4 results to Telegram
    action: notify.telegram_danko
    data:
      message: |
        🔬 TEST 4 - With 'silence' as end chime:
        Duration: {{ test4.duration | round(2) }} seconds
        URL: {{ test4.url }}

  - alias: Summary with local URLs
    action: notify.telegram_danko
    data:
      message: |
        📊 SUMMARY - Test complete!
        
        Test 1 duration: {{ test1.duration | round(2) }}s
        Test 2 duration: {{ test2.duration | round(2) }}s
        Test 3 duration: {{ test3.duration | round(2) }}s
        Test 4 duration: {{ test4.duration | round(2) }}s
        
        Local URLs for manual testing:
        1: {{ ha_base_url }}/local/{{ test1.url.split('/local/', 1)[1] if '/local/' in test1.url else test1.url }}
        2: {{ ha_base_url }}/local/{{ test2.url.split('/local/', 1)[1] if '/local/' in test2.url else test2.url }}
        3: {{ ha_base_url }}/local/{{ test3.url.split('/local/', 1)[1] if '/local/' in test3.url else test3.url }}
        4: {{ ha_base_url }}/local/{{ test4.url.split('/local/', 1)[1] if '/local/' in test4.url else test4.url }}

and the results:

📊 SUMMARY - Test complete!

Test 1 "Standard chimes (fanfare + crickets)" duration: 17.58s
Test 2 "With end_chime_delay" duration: 17.58s
Test 3 "No end chime" duration: 14.49s
Test 4 "Try silence as end chime" duration: 14.49s

I have uninstalled and reinstalled with no luck. still no UI. All of my automations work fine, I just have to do new ones in yaml mode.

Every time I start HA, I get the following warning in the log:

ogger: homeassistant.helpers.service
Source: helpers/service.py:510
First occurred: August 21, 2025 at 4:50:46 PM (1 occurrence)
Last logged: August 21, 2025 at 4:50:46 PM

Unable to parse services.yaml for the chime_tts integration: expected str for dictionary value @ data[‘say’][‘fields’][‘chime_path’][‘selector’][‘options’][26][‘value’]

I’m seeing the same thing. I removed and reinstalled Chime TTS but the issue persists

Exactly the same problem here - all automation still works just annoying to see the errors in the log. Hope there will be a solution soon!

same problem here…

I also installed it on a new HA server but the UI is not there.

Man, I thought I was going mad.

I’m a first time Chime user and after installing I’ve been tearing my hair out trying to figure out why there was no UI in Developer Tools > Actions chime_tts.say.

Clearly something else going on here.

It looks like a fix is in progress on github, so hopefully we will see a new version drop soon. Appreciate the dev and those users who helped track down and correct the issue.

Hi all, and thanks so much for this conversation and wonderful add in! I’ve seen that others have had issues with the volume, when set to a level to make the annoucement heard, that it does not reset back to the previous setting. Mine always goes to 80% volume, which is way to loud for the current media that is playing after the announcement is complete. This is happening on Sonos and Alexa devices. I’m working on trying to grab the current volume state and putting it back, but the timing is not working for me, and if played on multiple devices not sure how I will accomplish. Just thought I would ask if anyone found a workaround for the volume not resetting back, if manually setting in the config of the announcement. If I do not use that it works, and the playing media goes low, but the announcement is too low to hear. I considered grabbing the cached file and seeing if I can turn up the volume on the mp3 file itself, but thought I would ask here first as is I ever change the txt this might get a bit daunting.

Thank you to all who develp and are using this tool!

Anyone else having an issue with content not playing when using Chime TTS? I have a number of automations that use Chime TTS and suddenly I no longer hear output from those automations. The automations are running and looking at the trace I can see the output is correct but I do not hear anything from the media players.
In the developer tools I tried a test using chime.tts_say and tts.cloud_say. I get no output on the media players using chime.tts_say but I do get output using tts.cloud_say.
This was working correctly yesterday but suddenly today it has stopped.

I see this error in the logs:
This error originated from a custom integration.

Logger: custom_components.chime_tts
Source: custom_components/chime_tts/init.py:684
integration: Chime TTS (documentation, issues)
First occurred: 10:15:07 AM (16 occurrences)
Last logged: 10:53:10 AM

async_get_playback_audio_path → Unable to generate Media Content Id

Any ideas?

#Edit - I should have mentioned I did upgrade to 2025.9.1 last night

Does chime_tts have a default timeout? I’ve recently switched from using tts.cloud_say to chime_tts.say for my announcements. I have a few quite long briefing type announcements and I’ve started getting this error in the logs:

This error originated from a custom integration.

Logger: custom_components.chime_tts
Source: custom_components/chime_tts/__init__.py:131
integration: Chime TTS (documentation, issues)
First occurred: 07:56:20 (5 occurrences)
Last logged: 08:16:12

Error calling chime_tts.say service: Service call timed out after 60.0s (configured timeout = 60s)

The announcement plays, but the automation stops with this error and doesn’t run subsequent actions, such as turning on a toggle to prevent the automation running again. Is there a way of increasing the configured timeout?

DOH!

Found it… sorry.

My elevenlabs voices are suddenly not working with Chime TTS. They work with my voice assistant, but not with Chime tts

The only platforms available in configuration is Polly, Cloud and google translate. In an automation, more are available, but not in configuration.

Rolling back from the current beta has fixed the issue.

So following on from my default_timeout question, I increased the timeout to 120s and still hit a timeout in one of my automations. It wasn’t even a long message :thinking:, but the problem was that it stopped the automation from continuing.

So my question this time is:

Is there a “continue on timeout” like there is in the HA wait_for_trigger action?

I’ve not found one in the configuration settings.

Thanks.