Media Hub for Home Assistant
GitHub Repository: GitHub - onlinegill/Media-Hub: Media Hub for Home Assistant - local audio, speaker control, internet radio, private media uploads, and scheduled playback. · GitHub
Designed by Sukhpal Gill
The Story Behind Media Hub
I was asked by a school to set up a school bell, so I built this smart school bell that would ring over Sonos speakers every 45 minutes when the period changed. While building that system, I realized that managing audio files, speaker groups, radio streams, and large recurring timetables could be much easier from one dashboard.
What began as an automated bell system evolved into a complete Universal Media Player for Home Assistant — bringing daily music playback, multi-room speaker grouping, live radio streaming, and automated audio scheduling together into one clean dashboard.
What Media Hub Does
Universal Speaker & Multi-Room Control
- Automatically discovers speaker-style
media_playerentities across Home Assistant. - Full support for grouping/ungrouping Sonos and Home Assistant media player groups on the fly.
- Master volume sliders, mute, power toggle, and active state indicators.
- Set and star your favorite default speaker output.
- Real-time “Now Playing” metadata with dynamic album art and play/stop toggle states.
Dual Media Libraries (Local HA & Private Uploads)
- Home Assistant Media: Seamlessly browse audio already stored in your Home Assistant
/mediadirectory with folder navigation, instant search, audio format badges, and file sizes. - Private Audio Library: Upload audio files (MP3, M4A, AAC, FLAC, WAV, OGG, Opus) directly through the browser without needing Samba or SSH. Files persist safely across add-on restarts and updates.
Live Internet Radio Streaming
- Add custom live stream URLs (supports MP3, AAC, OGG, HLS, M3U, PLS playlists, and HTTP redirects).
- Built-in tokenized LAN audio stream proxy to ensure seamless playback on external smart speakers.
- Direct test-playback and station management from the dashboard.
Smart Recurring Playback & Timetables
- Build complex schedules with flexible time entry (e.g.
09:05,0905,9:05,17:58). - Bulk-assign times across selected days of the week or individual weekdays.
- One-time calendar-date schedules.
- Choose specific media files, output speakers, custom volume overrides, and announcement modes per schedule.
- Instant “Run Now”, enable/disable, and timetable inspection.
Screenshots
1. Player, Speaker Groups & Home Assistant Media Library
Browse local Home Assistant audio, discover Sonos & HA speakers, play internet radio streams, and control volume.
2. Scheduled Playback & Timetables
Create weekly recurring or one-time calendar schedules with flexible bulk time entry.
3. Private Uploads & Internet Radio Stations
Upload private audio directly from your browser and manage your favorite live internet radio streams.
How to Install
- In Home Assistant, navigate to Settings → Add-ons → Add-on Store.
- Click the top-right menu (three dots
⋮) and select Repositories. - Add the repository URL:
https://github.com/onlinegill/Media-Hub


