github derekcentrico/chime_tts v1.3.1-fork-rc1
v1.3.1-fork-rc1: synced with upstream 1.3, plus fixes

latest release: v1.3.1-fork-rc2
pre-release4 hours ago

Release candidate that brings the fork up to date with upstream Chime TTS v1.3.1-beta1 and adds the fixes below on top. It's a pre-release so it can get some real-world testing before it's marked stable. In HACS, enable "Show beta versions" for this repository to see it.

Back in sync with upstream

Nimrod is actively working on Chime TTS again, and most of what this fork carried has now been merged upstream. This release takes upstream v1.3.1-beta1 as its base, so you get the new sidebar panel, Chime Sets, notification profiles from the panel, initial_delay, repeat_delay, fallback TTS caching and reporting, and the rest of the 1.3 work.

I hope to get us back to upstream for good and work out an arrangement where I can contribute directly when the owner is away for extended periods. Until then this fork stays in sync with upstream, and every fix here is also being submitted upstream so that switching back later doesn't lose anything.

Fixes on top of upstream

  • Panel: the panel's file endpoints now require an admin user, matching the panel itself, and the file browser is stricter about which files it will preview, rename, delete or overwrite.
  • Notify profiles: saving settings no longer wipes your notify profiles when the save request leaves them out. configuration.yaml is now written atomically, so a crash or full disk can't leave it truncated. A read-only configuration.yaml gets a clear error instead of a raw errno (nimroddolev#352, nimroddolev#353).
  • Event loop: FFmpeg conversions (Alexa targets, audio_conversion, speed and pitch) no longer block Home Assistant's event loop. Temp file cleanup and several panel file checks moved off the loop too (nimroddolev#318, nimroddolev#258).
  • Google Cast: a Cast speaker that's already playing is stopped before the announcement volume is raised, so the current track no longer blasts at announcement volume. Players being paused for a fade are left alone so they can resume. Note that if the speaker is playing Cast group media, the whole group stops.
  • Sonos: the volume change is given 200 ms to settle before playback, which fixes announcements being dropped on some models. Multiple speakers settle together, so rooms stay in step.
  • Squeezebox: announcements now set their volume through announce_volume. Players without announce support, and grouped members, still use a normal volume change.
  • Cache: fixed a crash when a cached file can't be decoded, and deleted cache entries no longer reappear.
  • Temp folder (nimroddolev#306): on installs where /media isn't a registered media folder, the default temp folder now goes under the first registered one, so audio plays without editing settings.
  • TTS speed and pitch: a zero, negative or infinite tempo no longer hangs the conversion.
  • Targets: device, area, floor and label targets now fall back to the registries on Home Assistant releases that lack the newer target helper.

Behaviour change

Upstream counts repeat as additional plays, where this fork used to count total plays. repeat: 2 now plays the audio three times. If you use repeat, lower it by one.

The fork's cast_delay field is gone for now. Remove it from any automations or scripts that set it, or the action call will be rejected. The Cast lead-in comes back in the next release candidate.

Not in this release yet

The Google Cast lead-in (a short silence at the start so Cast speakers don't clip the first second) and the www cache sweep for uncached say_url audio (nimroddolev#342) are still in review. They're planned for the next release candidate.

Testing

All changes are covered by the test suite on Home Assistant 2026.6 and 2025.1. I'm testing the Sonos path on my own doorbell announcements. The Cast and Squeezebox changes are covered only by tests, so reports from anyone with those speakers are very welcome.

Install (HACS custom repository)

  1. HACS > three dots > Custom repositories.
  2. Add https://github.com/derekcentrico/chime_tts, category Integration.
  3. Enable "Show beta versions" for Chime TTS, install, and restart Home Assistant.

Don't miss a new chime_tts release

NewReleases is sending notifications on new releases.