RadioPlayer smart home integration, free and open source

Play your country's web radios on your Google Cast, Sonos and DLNA speakers.
Play the web radios of your country on the speakers of your house — Google Cast, Sonos and UPnP/DLNA — from Gladys: the dashboard, the music panel, the widgets and the scenes.
The stations come from Radio Browser, a free and open community directory of more than 50,000 web radios. The catalog is the one of the country you pick: its most listened stations, its genres and its search.
Requirements
- Gladys Assistant 5.3.0 or later.
- An Internet access for Gladys (the catalog) and for the speakers (they download the stream themselves).
- Speakers on the same local network as Gladys.
No account, no API key. No audio goes through Gladys: the integration tells the speaker which stream to play, the speaker plays it.
Where it works
The catalog of 20 countries, grouped in 6 zones. The integration can be installed anywhere, but the Gladys catalog lists it in these countries.
| Zone | Countries (stations in the catalog, November 2026) |
|---|---|
| Western Europe | France (3,500+), Belgium (590+), Luxembourg (35), Netherlands (1,450+), United Kingdom (2,300+), Ireland (230+) |
| Central Europe | Germany (6,300+), Switzerland (650+), Austria (360+) |
| Southern Europe | Spain (1,450+), Portugal (380+), Italy (1,800+) |
| North America | Canada (1,550+), United States (7,800+) |
| Latin America | Mexico (2,800+), Argentina (1,150+), Chile (590+), Colombia (740+), Peru (310+) |
| Oceania | Australia (1,800+) |
The Configuration screen, the documentation and the messages are available in English, French, German and Spanish.
Getting started in 3 steps
- Configuration tab: pick the catalog country and save.
- Discovery tab of the integration: your speakers are listed there — add the ones you want. The list is empty? Go back to the Configuration tab and press Search for speakers: it scans the network again and tells what each channel (Google Cast, Sonos/DLNA) answered.
- Listen: press Play a station now in the Configuration tab (pick a speaker, type a station name), or use the Music box of the dashboard, the RadioPlayer widgets or the scenes.
Supported speakers
| Family | Examples | Found by |
|---|---|---|
| Google Cast | Chromecast, Chromecast Audio, Google Home / Nest, Android TV, speakers with Chromecast built-in (JBL, Sony, Bose, Marshall…) | mDNS |
| Sonos | All Sonos speakers (S1 and S2) | SSDP |
| UPnP / DLNA | Network receivers (Denon, Marantz, Yamaha, Onkyo, Pioneer), smart TVs, Freebox Player, Kodi, BubbleUPnP… | SSDP |
An Android TV, or a speaker with Chromecast built-in, often also answers as a DLNA renderer, with far poorer stream support: such a device is kept once, as Google Cast. A duplicate created with an earlier version can be deleted from the device list.
A speaker the scan cannot see (another subnet, a router filtering multicast) can be added by hand, see below.
Configuration
- Open the Configuration tab of the integration.
- Pick the catalog country.
- Optionally:
- Start volume — the volume set when a station starts (0 keeps the volume of the speaker);
- Prefer MP3 streams (on by default) — plays the MP3 version of a station when one exists: Android TV refuses raw AAC streams ("incompatible file format"), old DLNA renderers refuse AAC or Ogg. The original stream stays the fallback; if a speaker drops a stream, the next one is tried automatically;
- Hide HLS streams — many DLNA speakers cannot play HLS (
.m3u8) streams: leave it on, unless all your speakers are Google Cast; - Google Cast speakers / Sonos and UPnP/DLNA speakers — turn off a family you do not use;
- Speakers added by hand — the IP address of a Sonos or Google Cast
device (e.g.
192.168.1.20: a Sonos is recognised by itself, any other IP is taken as Google Cast), or the URL of the UPnP description of another DLNA renderer, separated by commas.
- Save, open the Discovery tab and add your speakers.
Configuration screen buttons
- Search for speakers — scans the network now and reports what it found.
- Play a station now — plays a station on one of your speakers.
- Test the radio catalog — the number of stations and the five most listened ones of your country.
- Test a speaker — checks that a speaker answers, and its volume.
- Add / Remove / List the favorites.
Gladys' native speaker integrations
Gladys also ships native Sonos, Google Cast and AirPlay integrations. They only play voice notifications (text-to-speech), and Gladys offers no way for another integration to drive their devices. RadioPlayer therefore finds and drives the speakers itself; a speaker can be both a native Gladys device and a RadioPlayer device. The RadioPlayer devices are Gladys music players: they use the built-in Music box of the dashboard (now playing, browse, search) and the built-in "play media" scene action.
Listening
Every speaker is a Gladys music player:
- the music panel of the dashboard browses the catalog: Favorites, Top stations of your country, Genres (news, talk, pop, rock, oldies, jazz, classical, electronic, hip-hop, sport, kids) and Recently played, and searches a station by name;
- the device card shows play / pause / stop, the volume, mute, and next / previous station: they zap between your favorites (from two favorites on), or the top stations of your country otherwise;
- the Radio station select of the device lists your favorites (★) first, then the top stations of your country, to pick one in a tap.
Favorites
Up to 30 favorites, shared by all the speakers:
- the Choose button of the Radio – now playing widget opens the station list (favorites first, then the top stations): pick a station, and tick Add to favorites to star it at the same time (pick the station playing to star it without restarting it);
- the Add a favorite, Remove a favorite and List the favorites buttons of the Configuration screen take a station name.
Dashboard widgets
- Radio – now playing — the station of a speaker, its logo, its genres and
stream quality, and the Previous, Stop / Play, Next and Choose
buttons. The stream row says
(fallback)in orange when the speaker dropped the preferred MP3 stream and plays the original one. - Radio presets — your first three favorites as one-tap buttons for a speaker (or up to three stations you type in the widget settings), and a Stop button.
- Top radio stations — the most listened stations of the country (or of one genre), as a poster grid with a link to their website.
Scenes
Triggers (Integrations category of the scene editor). Optionally pick the speaker; left empty, any speaker matches.
| Trigger | When | Variables |
|---|---|---|
| Radio started | a speaker starts playing (from Gladys, its app, its buttons) | player, station, station_uuid |
| Radio stopped | a speaker stops, or the stream ended | player, station, station_uuid |
| Speaker unreachable | a speaker no longer answers on the network | player |
Read them in the following actions with {{triggerEvent.data.station}}.
A start or stop caused by a scene action of RadioPlayer fires no trigger, so
a scene can never loop on itself.
Actions
| Action | Parameters | Outputs |
|---|---|---|
| Play a radio station | speaker, station name, volume | started, station_name, station_uuid |
| Play a favorite | speaker, position (1 = first), volume | started, station_name, station_uuid |
| Next station | speaker | started, station_name, station_uuid |
| Stop the radio | speaker | stopped |
A station not found is not an error: started is false, use it in a
condition. The station field accepts scene variables.
Example — a radio alarm clock: Every weekday at 7:00 → Play a radio station "France Inter" on the bedroom speaker at 20 % → Wait 1 hour → Stop the radio.
Limits
- Sonos: play on the coordinator of a group (the speaker that leads it).
- Formats: a station only published in AAC or Ogg, with no MP3 version, may not play on an Android TV or an old DLNA renderer: the logs say which stream was refused. Pick another station, or another entry of the same radio in the catalog.
- Old DLNA renderers may refuse
httpsstreams or AAC: pick another station, or another stream of the same radio. - HLS streams (
.m3u8) only play on Google Cast; they are hidden while Hide HLS streams is on. - The title of the song playing is not shown: the station name, genres and stream quality are.
Troubleshooting
- No speaker in Discovery: press Search for speakers in the
Configuration tab and read the report.
0 answer(s)on a channel means the speakers did not answer the network search: check that they are on and on the same network as Gladys (no guest Wi-Fi, no separate VLAN), or add them by IP in Speakers added by hand. Anerrornames the cause. - "The radio catalog is unreachable": Gladys has no Internet access, or Radio Browser is down (the integration tries every Radio Browser server).
- A station does not start: use Test a speaker, then try another station; the stream may be offline.
- The integration logs everything it does: open its logs in Gladys
(
LOG_LEVEL=debugfor the full detail).
Privacy
The integration sends Radio Browser the searches and the stations played (anonymous, no account). Favorites and the last stations played stay in the integration's data volume, on your Gladys. Nothing else leaves your network.
RadioPlayer is an independent project, not affiliated with Radio Browser, Google, Sonos or Radioplayer Worldwide.
Configuration settings
These are the settings RadioPlayer asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| How to start | section | No | 1. Pick the catalog country below and save. 2. Open the Discovery tab of this integration and add your speakers (Google Cast, Sonos, DLNA); nothing there? Press "Search for speakers" at the bottom of this page. 3. Listen: "Play a station now" below, the music box or the RadioPlayer widgets of the dashboard, or the scenes. Internet access is needed for the catalog and the streams. |
| Catalog country | select | Yes | The stations offered are those of this country. |
| Start volume (%) | number | No | Volume set when a station starts. 0 keeps the volume of the speaker. |
| Hide HLS streams | boolean | No | Many DLNA speakers cannot play HLS (.m3u8) streams: keep it on unless all your speakers are Google Cast. |
| Prefer MP3 streams | boolean | No | Plays the MP3 version of a station when one exists: some speakers (Android TV, older DLNA renderers) cannot play AAC or Ogg streams. The original stream stays the fallback. |
| Speakers | section | No | Gladys looks for the speakers on your local network. The speaker downloads the stream itself: no audio goes through Gladys. |
| Google Cast speakers | boolean | No | Chromecast, Google Nest, Android TV and speakers with Chromecast built-in. |
| Sonos and UPnP/DLNA speakers | boolean | No | Sonos, network receivers, smart TVs, Freebox Player, Kodi and other DLNA renderers. |
| Speakers added by hand | string | No | For a speaker the scan does not find: the IP address of a Sonos or Google Cast device, or the URL of a UPnP description. Separate several entries with commas. |
How to install RadioPlayer in Gladys
- In Gladys, open Integrations: RadioPlayer appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/gboulvin/gladys-radioplayer:1.2.1), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration). - Open the Configuration screen of the integration, fill in the settings, and save.
- You can also install it directly from its repository URL: https://github.com/gboulvin/Gladys-RadioPlayer.
RadioPlayer requires Gladys >=5.3.0. The catalog inside Gladys refreshes every hour, so a new version becomes available at most one hour after its release.
Not running Gladys yet? It is free and open source: follow the installation guide to get started.
About external integrations
RadioPlayer is an external integration: a community integration packaged as a Docker container and published on GitHub, that Gladys installs in one click and runs in a sandbox isolated from its core. It is published and maintained by gboulvin, not by the Gladys core team.
- Browse all integrations, native and community
- Build and publish your own external integration
- Source code on GitHub — source of this documentation