Sonarr & Radarr smart home integration, free and open source

Sonarr and Radarr: releases of the week, queue, missing items, health alerts, searches.
Bring your Sonarr (series) and Radarr (movies) into Gladys, over your local network: the episodes and movies coming out this week on the dashboard, with their posters, the state of the download queues, the missing items, the health alerts, and scenes that react when an episode or a movie is downloaded.
The integration was tested against real Sonarr 4 and Radarr 6 instances (the official Docker images), not yet in a real Gladys installation: feedback is welcome on the Gladys forum or in the issues.
What you need
- Gladys Assistant 5.1.0 or later.
- Sonarr v3 or v4, and/or Radarr v3 or later, reachable from Gladys (same network). Up to two of each.
- The API key of each instance: in Sonarr or Radarr, Settings → General → Security → API Key.
Set up
- Install the integration from the Gladys catalog.
- In Configuration, in the Sonarr section, enter the Address of your
Sonarr with its port (for example
192.168.1.2:8989), its API key, and optionally a Name. Same thing in the Radarr section (port7878by default). A Sonarr behind a reverse proxy with a URL base? Enter it too:https://example.org/sonarr. Leave a section empty if you do not use that application. A second Sonarr (4K, anime…) or Radarr? Fill in the Second Sonarr or Second Radarr section. - Save, then click Test the connection: the message under the button says, for each instance, whether it answers, its version, its queue, its missing items and its health alerts.
- Open the Discover tab: one device per instance. Click Add, pick a room and save.
Options:
- Refresh interval: how often the instances are read (queue, calendar, history, health), from 1 to 10 minutes (2 minutes by default). Each reading makes 6 small requests to each instance, 7 once an hour.
- Language of the feature names: English, French, German or Spanish. The names are given when a device is added (French by default); the language also sets the sentence of the summary action.
The device of each instance
All the features are read-only. The names say "episodes" on a Sonarr and "movies" on a Radarr.
| Feature | What it is |
|---|---|
| Online | 1 while the instance answers, 0 when it does not |
| Download queue | Items in the queue of Sonarr or Radarr (Activity → Queue) |
| Downloads in error | Items of the queue in warning or error: blocked import, failed download… |
| Missing episodes / Missing movies | Monitored episodes or movies without a file (Wanted → Missing) |
| Episodes in the next 7 days / Movies in the next 7 days | Episodes airing, or movies released (cinema, digital, disc), from today to 6 days on |
| Free space | Free space of the root folders, in GB; the smallest when there are several |
| Health warnings | Warnings of System → Status (indexer, download client…) |
| Health errors | Errors of System → Status |
| Version | Version of Sonarr or Radarr |
Dashboard
Add the Upcoming releases widget (the integration's widgets in the dashboard editor). By default it covers every instance; its Instance setting limits it to one.
It shows:
- two tiles: the items In queue and the Missing ones, for all the instances shown;
- a grid of the episodes and movies coming out from today to the next 6 days, with their poster, their date, and a Downloaded badge once the file is there (for a movie: In cinemas, Digital or Blu-ray / DVD before that). Tap a card for the episode title and the overview;
- one line per instance: queue, downloads in error, health alerts, or Unreachable;
- two buttons: Search missing (the same as the action below) and Refresh.
The posters come from Sonarr and Radarr themselves (the small copy they keep), through Gladys: your browser never loads an outside address.
Scenes
Triggers
| Trigger | When | Filters | Variables |
|---|---|---|---|
| Episode or movie downloaded | Sonarr or Radarr imported a finished download into the library | instance, application | instance name, title, title with episode or year, quality |
| Download failed | A download was marked as failed | instance, application | instance name, title, title with episode or year, reason |
| New health issue | A warning or error appears in System → Status (once, until it goes away) | instance, application, level | instance name, level, check, message |
The integration reads the history of each instance at every refresh: a download is announced at most one interval after the import, once, even across a restart. Events older than one hour are not announced (Gladys stopped for a night does not replay the night). The health alerts present when an instance is added are the starting point: only the new ones are announced.
Actions
| Action | What it does | Outputs |
|---|---|---|
| Search missing episodes or movies | Starts the search of every monitored missing episode or movie, on one instance or all of them | instances that started the search |
| Refresh the Sonarr or Radarr library | Asks for a refresh of the information and files of every series or movie (run in the background by Sonarr or Radarr) | instances refreshed |
| Read the Sonarr/Radarr summary | Builds a sentence: releases this week, queue, missing items, health alerts | sentence, releases, items in queue, missing |
Nothing is ever deleted: the integration only reads, and starts searches and refreshes.
Scene ideas
- Movie night: trigger Episode or movie downloaded with the application Radarr, then a notification that uses the variable Title with episode (S01E02) or year: "Avatar (2009) is ready to watch".
- Morning summary: every day at 8:00, Read the Sonarr/Radarr summary, then send its sentence on Telegram or have it said by the speaker.
- Stuck downloads: trigger Download failed, then a message with the reason; or a scene on the Downloads in error feature above 0.
- Weekly catch-up: every Sunday night, Search missing episodes or movies.
Troubleshooting
- "does not answer": check the address and the port from the Gladys
machine (
http://<address>:8989for Sonarr,:7878for Radarr). Gladys runs the integration in a container:localhostis the container itself, use the IP address of the machine. - "API key refused": copy the key again from Settings → General → Security. A new key in Sonarr or Radarr needs the new key here.
- "this address is the other application": a Radarr address in a Sonarr section, or the reverse (with the key of that other application; with the right key, a wrong address answers "API key refused").
- "no Sonarr or Radarr API at this address" or "the address redirects":
an instance behind a reverse proxy needs its URL base
(
https://example.org/sonarr), and a login page of the proxy blocks the API: use the local address. - "certificate refused": HTTPS with a self-signed certificate is not
supported; use the
http://address on your network. - No poster: Sonarr or Radarr has not downloaded it yet (MediaCover); it comes with the next refresh of the series or movie.
Limits
- No webhook: the sandbox of Gladys has no inbound port, so the imports are read from the history at each refresh, not pushed instantly.
- The Downloads in error count reads the first 100 items of the queue.
- The widget shows 12 releases at most, the first ones in time.
- No calendar in the Gladys calendar view: an integration is either a device or a calendar provider, and the devices, triggers and actions matter more here. The widget plays the calendar part.
- Lidarr, Readarr, Prowlarr and the download clients are not covered.
- Not affiliated with the Sonarr or Radarr projects.
Configuration settings
These are the settings Sonarr & Radarr asks for in its configuration screen in Gladys.
| Setting | Type | Required | Description |
|---|---|---|---|
| Sonarr | section | No | Address and API key of your Sonarr (Settings → General → Security). Leave empty if you do not use Sonarr. |
| Address | string | No | IP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8989/sonarr). |
| API key | secret | No | Sonarr: Settings → General → Security → API Key. |
| Name | string | No | Name of the device in Gladys. Empty: "Sonarr" followed by the address. |
| Second Sonarr (optional) | section | No | Same fields, for another Sonarr. |
| Address | string | No | IP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8989/sonarr). |
| API key | secret | No | Sonarr: Settings → General → Security → API Key. |
| Name | string | No | Name of the device in Gladys. Empty: "Sonarr" followed by the address. |
| Radarr | section | No | Address and API key of your Radarr (Settings → General → Security). Leave empty if you do not use Radarr. |
| Address | string | No | IP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:7878/radarr). |
| API key | secret | No | Radarr: Settings → General → Security → API Key. |
| Name | string | No | Name of the device in Gladys. Empty: "Radarr" followed by the address. |
| Second Radarr (optional) | section | No | Same fields, for another Radarr. |
| Address | string | No | IP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:7878/radarr). |
| API key | secret | No | Radarr: Settings → General → Security → API Key. |
| Name | string | No | Name of the device in Gladys. Empty: "Radarr" followed by the address. |
| Options | section | No | |
| Refresh interval | select | No | How often the instances are read: queue, calendar, history, health. |
| Language of the feature names | select | No | Names given to the features when a device is added, and the sentence of the summary action. |
How to install Sonarr & Radarr in Gladys
- In Gladys, open Integrations: Sonarr & Radarr appears in the catalog, next to the native integrations, with a community badge.
- Click Install. Gladys pulls the Docker image (
ghcr.io/guim31/gladys-arr:1.0.0), 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/guim31/gladys-arr.
Sonarr & Radarr requires Gladys >=5.1.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
Sonarr & Radarr 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 guim31, 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