Multimedia and Announcements in the Smart Home: What's Worth Automating, and What Not to Force
Multimedia and Announcements in the Smart Home: What's Worth Automating, and What Not to Force
This module doesn't teach you to build a home theater. It teaches two things: how to sensibly control music and speakers across multiple rooms, and how to turn the house into an announcement system that warns, reminds, and informs out loud, instead of burying you in push notifications you never read anyway.
The module's core rule
A voice announcement interrupts whatever someone is doing right now.
Use it only when the information matters more than the interruption.
Music and announcements are two separate layers, not one feature.
Budget around 60 minutes. This lesson builds the spine for the whole module: two announcement tiers and a silence switch that every one of the next 15 lessons will build on. From here on I'll shorten Home Assistant to HA and Music Assistant to MA.
A Real-Life Problem: A Flood Alert During Movie Night
A flood sensor in the bathroom detects water. The phone is sitting in another room, on silent. The push notification waits unread for 40 minutes until the movie ends. In that time, water spreads across the floor. The opposite problem: HA "informs" you out loud through the living room speaker about every front door opening, every piece of mail, and every finished laundry load, until after a week you switch TTS off entirely, including for things that actually matter.
The fix for both problems is the same thing: separating priorities at the architecture level, not relying on good intentions inside every individual automation.
Two Announcement Tiers
| Tier | Example | Behavior |
|---|---|---|
| Home announcement | laundry done, someone at the gate, a reminder | respects silence, moderate volume |
| Critical announcement | flood, smoke, gate left open at night | overrides silence, high volume, repeats |
This distinction isn't cosmetic: a critical announcement carries different permissions (it can override silence mode from Lesson 12), a different volume, and repeats if nobody reacts. A home announcement never overrides silence: news that the laundry finished can wait until morning.
The Module's Foundation Helpers
input_boolean:
house_silence:
name: "House silence"
icon: mdi:volume-mute
initial: false
multimedia_automation_enabled:
name: "Multimedia automation enabled"
icon: mdi:cast-connected
initial: true
input_number:
announcement_volume_home:
name: "Volume: home announcement"
min: 0
max: 100
step: 5
initial: 35
unit_of_measurement: "%"
announcement_volume_critical:
name: "Volume: critical announcement"
min: 0
max: 100
step: 5
initial: 70
unit_of_measurement: "%"
input_select:
announcement_zone:
name: "Announcement zone"
options:
- "Whole house"
- "Downstairs"
- "Upstairs"
- "Kitchen and living room only"
icon: mdi:map-marker-radius
input_select.announcement_zone lets you quickly limit home announcements to part of the house, for example when a child is asleep upstairs: in Lesson 12 we'll extend this logic with automatic switching based on the time of day.
The Home Announcement Script Skeleton
script:
home_announcement:
alias: "Home announcement"
icon: mdi:bullhorn-outline
mode: queued
max: 5
fields:
message:
description: "The message to speak"
example: "Laundry is done"
sequence:
- condition: state
entity_id: input_boolean.house_silence
state: "off"
- condition: state
entity_id: input_boolean.multimedia_automation_enabled
state: "on"
# full TTS logic, volume snapshot, and speaker grouping
# gets built out in Lessons 3, 5, and 6
mode: queued with a max: 5 limit makes sure several announcements triggered close together play one after another, instead of stacking on top of each other: without this, two automations firing in the same second would try to speak through the same speaker at once. This is deliberately a skeleton: we'll build the full, working version with a real TTS call in Lesson 5, after Lessons 2 through 4 introduce the media_player entity, Music Assistant, and the speakers themselves.
What's Worth Automating
High-risk technical alerts: flood, smoke, a gate left open at night. A voice reaches where a phone in a pocket doesn't.
Music that follows you between rooms, and scenes tied to specific activities (movie night, cooking, cleaning).
Short, infrequent reminders: laundry done, someone at the gate, when your phone isn't on you.
What Not to Force
Don't turn the house into a talking terminal
A voice notification for every door opening, every temperature change, or every logbook entry is the fastest way to get household members to start ignoring everything the house says, including things that matter. The rule: if an announcement requires no reaction or decision at all, it probably shouldn't be spoken out loud.
A Map of the Module
Lessons 2 through 4 are the technical foundation: the media_player entity, Music Assistant, and specific speaker brands. Lessons 5 through 8 are announcements: TTS, taking a snapshot and restoring music after an announcement, the tablet as a communicator, and the TV as an information hub. Lessons 9 through 12 are applications: multimedia notifications, home announcements (doorbell, gate, packages), multimedia scenes, and silence mode. Lessons 13 and 14 cover control without a phone and technical alerts as an audio layer. Lessons 15 and 16 close the module with a dashboard and a mini project.
The Multimedia Hardware Landscape: What Actually Exists on the Market
Before you go further, it's worth seeing the full map of options, because in this module you'll be choosing between genuinely different approaches, not a single correct standard. The market splits roughly into four groups of hardware.
| Group | Examples | Nature of the integration |
|---|---|---|
| Streamers and smart TVs | Chromecast, Android TV/Google TV, Apple TV, Roku, LG webOS, Samsung Tizen | varying degrees of local control, some require the manufacturer's cloud |
| Multiroom speakers | Sonos, Google Nest, Apple HomePod (AirPlay), DLNA speakers | Sonos runs locally, Nest and HomePod route through the manufacturer's cloud |
| A music hub | Music Assistant as a Home Assistant add-on | ties many sources and players together into one coherent interface |
| DIY / fully local | ESPHome-based speakers, Home Assistant Voice Preview Edition | zero cloud, full control, requires some tinkering |
You don't have to pick one approach for the whole house. A typical, mature setup mixes several: Sonos in the living room because you already own it, a cheap ESPHome speaker in the garage as an announcement point, and Music Assistant as the layer tying everything into one library and one set of controls.
Multimedia Ecosystems: Closed Versus Open
| Approach | Examples | Consequence for automation |
|---|---|---|
| Closed ecosystem | Sonos, Apple HomePod, native Google Nest | convenient within one brand, harder to combine with other manufacturers' devices |
| Open, integrated through Music Assistant | any speaker Music Assistant supports, from Lesson 3 of this section | one coherent control interface regardless of speaker brand |
| DIY on ESPHome | a self-built speaker from Module 10 | full control, but requires your own assembly work |
This module deliberately shows all three approaches, because few installations are fully uniform: a typical home combines one closed ecosystem (say, Sonos in the living room) with cheaper, open solutions elsewhere (a DIY ESPHome speaker in the garage or laundry room).
A Starter Budget for a Multimedia System: From Zero to a First Announcement
| Item | Rough entry cost |
|---|---|
| Music Assistant server (add-on, free) | $0, only needs spare compute on your existing Home Assistant server |
| One DIY ESPHome speaker | around $15-25 in components |
| A cheap smart speaker as an announcement point | from around $25-40 for popular models with supported integrations |
| A wall-mounted tablet (Module 14) | cost already covered in an earlier module, here it's just a feature expansion |
The Role of pyscript and AppDaemon in More Complex Multimedia Logic
Standard Home Assistant automations, built on triggers and conditions, are entirely sufficient for most scenarios in this module, but more complex logic, like dynamically matching an announcement's volume to background noise measured by a microphone, goes beyond what the standard automation editor comfortably handles. In cases like that, pyscript (which lets you write automation logic in Python) offers more flexibility than YAML, though it comes with an extra learning curve that goes beyond this course's basic scope.
A/B Testing Different Approaches to Home Announcements
Before you settle on a final format for your voice announcements (length, tone, level of detail), it's worth testing different variants on yourself and your household for a week or two: a short, factual announcement versus a fuller sentence with context. What seems optimal in theory often turns out, in practice, to be either too long (household members stop listening before it finishes) or too terse (missing the context of exactly what happened).
The House's Sound Profile: Why It's Worth Designing Deliberately
Before you start configuring individual announcements, it's worth designing an overall sound profile for the whole house: what voice, what tone, and what baseline volume announcements should carry at different times of day. A house where every automation has its own randomly chosen voice and volume feels chaotic, while a consistent, deliberate sound profile, applied consistently across the rest of this module's lessons, creates the impression of one coherent system, not a pile of independent gadgets.
The Order of Decisions Before Your First Multimedia Purchase
1. Decide whether you're building on one ecosystem (Sonos) or an open architecture through Music Assistant.
2. Pick one consistent announcement pattern (the home_announcement script) before you start multiplying automations.
3. Settle on a channel and priority matrix before you wire up the first alert to the system.
4. Plan your first audio point (usually the living room) as a pilot, before expanding to the whole house.
5. Only after settling these, start buying specific speakers and devices.
Common Cognitive Mistakes When Planning a Multimedia System
Buying hardware before planning the architecture: speakers from different, incompatible ecosystems bought on impulse, hard to tie into one coherent system later.
Too many automations at once: trying to build the whole channel matrix and every scene in a single weekend, instead of rolling it out gradually.
Ignoring real-world testing: an automation tested only in silence, failing in a noisy kitchen during cooking.
No single, consistent announcement pattern: every automation calling TTS its own way, instead of using one shared script.
How to Test This Lesson
1. Create every helper from this lesson under Settings → Devices & Services → Helpers.
2. Add the home_announcement script skeleton: it won't fully work yet, but confirm it saves without errors.
3. Write down three things in your house you want announced out loud, and three you definitely don't.
Key Takeaways
Two announcement tiers: home respects silence, critical overrides it.
The helper foundation from this lesson supports all 15 lessons that follow.
Less is more: only announce out loud what actually requires a reaction.
What's Next
Next lesson: The media_player Entity: TV, Speaker, Soundbar, Receiver, Tablet, and Player. You'll learn the entity structure the whole module is built on.