Skip to content

floris-b/tts_queue

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 

Repository files navigation

Work in progress: alfa status:

  • config flow: ready
  • ha new notify: ready
  • squeezebox: working
  • other multi player integration: not started
  • mutiplayer integrations: handlers code: mostly done
  • coordinator: needs work: lots of refactor and cleanup
  • listener: needs work: lots of refactor and cleanup
  • add option: play multi player message insync or stand alone
  • save delayed messages for HA restarts: code is done but not used
  • asyncio can be improved: async_track_state_change_event, +?

A Home Assistant integration that provides text-to-speech message queuing and prioritization for your media players.

Overview

TTS Queue allows you to send text-to-speech messages to your media players with priority management. Instead of interrupting your current audio, messages are queued and played based on priority levels, ensuring important announcements are heard while preserving your listening experience.

Key Features

  • Priority-based queuing - High, normal, and low priority message levels
  • Multi-device support - Send to multiple media players simultaneously from different media player integrations
  • State preservation - Automatically saves and restores volume, playlists, and media position
  • Scheduled playback - Set messages to play at specific times
  • Repeat functionality - Configurable repeat counts and intervals per priority level
  • Device group awareness - Only plays when devices are home/available

Configuration

Setup via Config Flow

  1. Go to Settings > Devices & Services > Add Integration
  2. Search for "TTS Queue" and select it
  3. Choose your media player integration (Squeezebox, Sonos, Denon)
  4. Select the media player entities you want to include
  5. Configure settings for each priority level:

Priority Level Settings:

  • Repeat Count - How many times to repeat the message
  • Repeat Interval - Minutes between repetitions
  • Volume Level - Volume for messages (0.1-1.0)
  • Alert Sound - Optional sound to play before the message
  • Device Group - Entity that must be "home" for playback

Usage

Basic Service Call

service: tts_queue.play
data:
  entity_id: media_player.living_room_speaker
  message: "Welcome home!"
  notify_level: "normal"

Priority Levels

  • high - Urgent announcements
  • normal - Standard notifications
  • low - Background information

Advanced Options

You can override the configured settings when calling the service:

service: tts_queue.play
data:
  entity_id:
    - media_player.living_room
    - media_player.kitchen
  message: "Dinner is ready"
  notify_level: "high"
  volume_level: 0.8
  repeat_count: 2
  repeat_interval: 5
  schedule_datetime: "2024-01-20T18:30:00"

Supported Media Players

  • Squeezebox/Logitech Media Server - Full state preservation and sync group support
  • Sonos - Full state preservation and sync group support
  • Denon - Full state preservation and sync group support
  • Generic - Works with any media player that supports TTS

How It Works

  1. Messages are queued by priority (high > normal > low)
  2. Current media state is automatically saved
  3. Messages play in order with configured settings
  4. Previous media state is restored when complete
  5. Multiple devices are handled simultaneously for synchronized playback

Benefits

  • Never miss important announcements - Priority queuing ensures critical messages get through
  • Preserves your music - Automatically resumes what you were listening to
  • Flexible scheduling - Plan announcements in advance
  • Smart playback - Respects device availability and home/away status
  • Multi-room support - Send messages to multiple speakers at once

Perfect for home automation scenarios like weather updates, security alerts, reminders, and scheduled announcements.

About

TTS Media Player notifications for Home Assistant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages