Hi, all!
Your speakers turn on when music plays, and off when it stops.
If your amplifier, speakers or TV hang on a smart plug, you probably have an automation like “turn the plug on when something plays, off a few minutes later”. Then a second player joins, the TV needs to come on before Kodi, the subwoofer should stay off at night… and the automation grows to 100 lines.
Better Media Player is a custom integration that turns this into one media_player per room. You tell it what is in the room (a video player such as Kodi, a music player such as Music Assistant, and the plugs or devices for TV, speakers and subwoofer); it takes care of the rest:
- Power in the right order: TV → wake the player → speakers → subwoofer, and back down in reverse after a run-down. Speakers never pop; a player is only used once it is ready.
- Plugs or devices: smart plugs, devices that switch themselves (TV or AV receiver as media player, a Harmony activity), your own on/off scripts (e.g. IR), or a mix: plug first, then the device.
- Shared speakers: one set of speakers serves both the video and the music player.
- Hands off: music that starts on the room’s player powers the room by itself, also in a Music Assistant group. Switch a plug by hand and the room steps back until everything is off again.
- One volume per room, with presets (quiet / normal / loud / party), on the players or on an amplifier / AVR.
- Night mode (volume limit, no subwoofer, shorter TV timeouts), sleep timer with fade-out, wake-up with fade-in and snooze.
- Follow me: start it in a room and the music follows you through the house via occupancy sensors and a Music Assistant group. Speakers in the other rooms are prewarmed, and the track keeps its position.
- Handover: continue the music, or the film with Better Kodi, in another room; that room powers up first.
- Media browser and search across the room’s players, tidy dashboards (controls that make no sense right now are hidden), and events / device triggers for your own automations, e.g. switch the TV input when the source changes.
Setup is done in the UI and only asks what is connected; everything about how a room behaves is a setting on its device.
Status: early development, installable via HACS as a custom repository:
https://github.com/financelurker/ha-better-media-player
I’d love your feedback:
- Does this match a problem you have, or did you solve it differently?
- Which players and devices do you use? Kodi, Music Assistant and Better Kodi have their own backends; other systems (Android TV, Jellyfin, Plex, Sonos, …) work with the defaults and can get backends of their own.
- What’s missing for your room?
Disclaimer: This Integration was co-authored with Claude.
Best regards!