Skip to content

v3.5b1: Volume timing fixes, TTS cache improvements, diagnostics

Pre-release
Pre-release

Choose a tag to compare

@sfortis sfortis released this 07 Dec 11:56

Bug Fixes

Volume Restoration Timing

  • Fixed volume being restored too early when using chime or normalize features
  • Volume restoration now correctly waits for full playback duration
  • Added platform-specific timing buffers (Sonos: 500ms, Cast: 700ms)

Chime Configuration

  • Fixed chime settings not being applied from entity configuration
  • Service now reads chime/normalize settings from TTS entity subentry config

Voice Change Bug

  • Added default_options property to TTS entity
  • Voice/model/speed changes in config now properly invalidate HA's TTS cache

New Features

Duration Metadata with Mutagen

  • Added reliable MP3 metadata embedding using mutagen library
  • Duration stored in ID3 TXXX:duration_ms tag

In-Memory Duration Cache

  • Added MESSAGE_DURATIONS_KEY for fast duration lookups
  • Shared cache across all TTS entities

Diagnostics Support

  • New diagnostics.py for troubleshooting
  • Exports config entry data (API key redacted)

Code Quality

  • Fixed deprecated asyncio.get_event_loop() calls
  • Fixed bare except: clauses
  • Removed duplicate constant definitions
  • Added type annotations