Skip to main content

Sonarr, Radarr & Lidarr smart home integration, free and open source

Sonarr, Radarr & Lidarr integration for Gladys Assistant

Sonarr, Radarr and Lidarr: releases of the week, queue, missing items, health alerts, searches.

Bring your Sonarr (series), Radarr (movies) and Lidarr (music) into Gladys, over your local network: the episodes, movies and albums 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, a movie or an album is downloaded.

The integration was tested against real Sonarr 4, Radarr 6 and Lidarr 3 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, Radarr v3 or later and/or Lidarr v1 or later, reachable from Gladys (same network). Up to two of each.
  • The API key of each instance: in Sonarr, Radarr or Lidarr, Settings → General → Security → API Key.

Set up​

  1. Install the integration from the Gladys catalog.
  2. 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 (port 7878 by default) and the Lidarr section (port 8686). 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…), Radarr or Lidarr? Fill in the matching Second… section.
  3. 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.
  4. 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, "movies" on a Radarr and "albums" on a Lidarr.

FeatureWhat it is
Online1 while the instance answers, 0 when it does not
Download queueItems in the download queue (Activity → Queue)
Downloads in errorItems of the queue in warning or error: blocked import, failed download…
Missing episodes / Missing movies / Missing albumsMonitored episodes, movies or albums without files (Wanted → Missing)
Episodes in the next 7 days / Movies in the next 7 days / Albums in the next 7 daysEpisodes airing, movies (cinema, digital, disc) or albums released, today to 6 days on
Free spaceFree space of the root folders, in GB; the smallest when there are several
Health warningsWarnings of System → Status (indexer, download client…)
Health errorsErrors of System → Status
VersionVersion of Sonarr, Radarr or Lidarr

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, movies and albums coming out from today to the next 6 days, with their poster (for an album, the poster of its artist), 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 or album 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, Radarr and Lidarr themselves (the small copy they keep), through Gladys: your browser never loads an outside address.

Scenes​

Triggers​

TriggerWhenFiltersVariables
Episode, movie or album downloadedSonarr, Radarr or Lidarr imported a finished download into the libraryinstance, applicationinstance name, title, title with episode, year or artist, quality
Download failedA download was marked as failedinstance, applicationinstance name, title, title with episode, year or artist, reason
New health issueA warning or error appears in System → Status (once, until it goes away)instance, application, levelinstance 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.

For Lidarr, the title is the album and the title with artist reads "Radiohead – The King of Limbs". Lidarr records one import per track: the tracks of an album read together make a single event. Tracks of an album imported later (a missing track, an upgrade) announce the album again; an album whose tracks are imported across two readings (rare: an import takes seconds) is announced twice.

Actions​

ActionWhat it doesOutputs
Search missing episodes, movies or albumsStarts the search of every monitored missing episode, movie or album, on one instance or all of theminstances that started the search
Refresh the Sonarr, Radarr or Lidarr libraryAsks for a refresh of the information and files of every series, movie or artist (run in the background by the application)instances refreshed
Read the Sonarr/Radarr/Lidarr summaryBuilds a sentence: releases this week, queue, missing items, health alertssentence, releases, items in queue, missing

Nothing is ever deleted: the integration only reads, and starts searches and refreshes.

Scene ideas​

  • Movie night: trigger Episode, movie or album downloaded with the application Radarr, then a notification that uses the variable Title with episode (S01E02), year or artist: "Avatar (2009) is ready to watch".
  • New album: trigger Episode, movie or album downloaded with the application Lidarr, then a notification with Title with episode (S01E02), year or artist: "Radiohead – The King of Limbs is in the library".
  • Morning summary: every day at 8:00, Read the Sonarr/Radarr/Lidarr 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, movies or albums.

Troubleshooting​

  • "does not answer": check the address and the port from the Gladys machine (http://<address>:8989 for Sonarr, :7878 for Radarr, :8686 for Lidarr). Gladys runs the integration in a container: localhost is 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, Radarr or Lidarr needs the new key here.
  • "this address is another application": a Radarr address in a Sonarr section, a Sonarr in a Lidarr section… (with the key of that other application; with the right key, a wrong address answers "API key refused").
  • "no Sonarr, Radarr or Lidarr 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: the application has not downloaded it yet (MediaCover); it comes with the next refresh of the series, movie or artist. An artist without a poster on Lidarr's metadata server leaves its albums without one.

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 keeps album covers at full size only (often over the 300 KB a widget image may weigh): the cards show the poster of the artist.
  • Readarr, Prowlarr and the download clients are not covered.
  • Not affiliated with the Sonarr, Radarr or Lidarr projects.

Configuration settings​

These are the settings Sonarr, Radarr & Lidarr asks for in its configuration screen in Gladys.

SettingTypeRequiredDescription
SonarrsectionNoAddress and API key of your Sonarr (Settings → General → Security). Leave empty if you do not use Sonarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8989/sonarr).
API keysecretNoSonarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Sonarr" followed by the address.
Second Sonarr (optional)sectionNoSame fields, for another Sonarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8989/sonarr).
API keysecretNoSonarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Sonarr" followed by the address.
RadarrsectionNoAddress and API key of your Radarr (Settings → General → Security). Leave empty if you do not use Radarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:7878/radarr).
API keysecretNoRadarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Radarr" followed by the address.
Second Radarr (optional)sectionNoSame fields, for another Radarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:7878/radarr).
API keysecretNoRadarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Radarr" followed by the address.
LidarrsectionNoAddress and API key of your Lidarr (Settings → General → Security). Leave empty if you do not use Lidarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8686/lidarr).
API keysecretNoLidarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Lidarr" followed by the address.
Second Lidarr (optional)sectionNoSame fields, for another Lidarr.
AddressstringNoIP address or name with the port, and the URL base if any (e.g. http://192.168.1.2:8686/lidarr).
API keysecretNoLidarr: Settings → General → Security → API Key.
NamestringNoName of the device in Gladys. Empty: "Lidarr" followed by the address.
OptionssectionNo
Refresh intervalselectNoHow often the instances are read: queue, calendar, history, health.
Language of the feature namesselectNoNames given to the features when a device is added, and the sentence of the summary action.

How to install Sonarr, Radarr & Lidarr in Gladys​

  1. In Gladys, open Integrations: Sonarr, Radarr & Lidarr appears in the catalog, next to the native integrations, with a community badge.
  2. Click Install. Gladys pulls the Docker image (ghcr.io/guim31/gladys-arr:1.1.0), starts it in a sandbox isolated from the core, and generates the integration's interface (devices, discovery and configuration).
  3. Open the Configuration screen of the integration, fill in the settings, and save.
  4. You can also install it directly from its repository URL: https://github.com/guim31/gladys-arr.

Sonarr, Radarr & Lidarr 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 & Lidarr 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.

Subscribe to the Gladys Assistant newsletter

A few emails per month about new releases and project news. Sent by Pierre-Gilles Leymarie, founder of the project. Unsubscribe anytime 🙂