Overseerr
Overseerr is a service that allows you to manage media requests and to integrate these media requests with Plex, Radarr, and Sonarr. The Overseerr integrationIntegrations connect and integrate Home Assistant with your devices, services, and more. [Learn more] allows you to integrate your Overseerr
Configuration
To add the Overseerr service to your Home Assistant instance, use this My button:
Manual configuration steps
If the above My button doesn’t work, you can also perform the following steps manually:
-
Browse to your Home Assistant instance.
-
In the bottom right corner, select the
Add Integration button. -
From the list, select Overseerr.
-
Follow the instructions on screen to complete the setup.
Supported versions
The latest version of Overseerr is supported by this integration.
Supported functionality
The Overseerr integration provides a couple of entities to Home Assistant. Below is an overview of these entities.
Events
Overseerr provides an event entity for updates around media. The possible events that this entity has are:
pendingapprovedavailablefaileddeclinedauto_approved
Relevant data about the request are stored in the attributes.
Sensors
The integration provides statistics for both requests and issues stored in Overseerr.
Request sensors
There are sensors for:
- Total requests
- Movie requests
- TV requests
- Pending requests
- Declined requests
- Processing requests
- Available requests
Issue sensors
There are sensors for:
- Total issues
- Open issues
- Closed issues
- Video issues
- Audio issues
- Subtitle issues
Actions
The Overseerr integration has the following actions:
Request actions
-
overseerr.get_requests- Get a list of media requests
Get requests
Get a list of media requests using the overseerr.get_requests action.
- config_entry_id (Required): The ID of the Overseerr config entry to get data from.
- status (Optional): The status to filter the results on.
-
sort_order (Optional): The sort order to sort the results in (
added/modified). - requested_by (Optional): Filter the requests based on the user ID of the requester.
Use cases
The integration can be used to build automations to help and notify you of new media requests and issues.
Example automations
Send me a push notification on a new request
alias: "Overseerr push notification"
description: "Send me a push notification on a new media request"
triggers:
- trigger: state
entity_id:
- event.overseerr_last_media_event
not_from:
- unknown
- unavailable
conditions:
- condition: template
value_template: >-
{{ state_attr('event.overseerr_last_media_event', 'event_type') ==
'pending' }}
actions:
- action: notify.mobile_app
metadata: {}
data:
message: >-
{{ state_attr('event.overseerr_last_media_event', 'subject') }} has been
requested
Send notification when open issues exceed threshold
alias: "Notify when too many open issues"
description: "Alert when open issues in Overseerr exceed 10"
triggers:
- trigger: numeric_state
entity_id:
- sensor.overseerr_open_issues
above: 10
actions:
- action: notify.mobile_app
data:
message: >-
Warning: {{ states('sensor.overseerr_open_issues') }} open issues in Overseerr!
title: "High Issue Count"
Track audio issues trend with statistics sensor
alias: "Monitor audio issue trends"
description: "Create a statistics sensor to track audio issue trends over time"
sensor:
- platform: statistics
name: "Audio Issues Statistics"
entity_id: sensor.overseerr_audio_issues
state_characteristic: mean
max_age:
days: 7
sampling_size: 100
Alert when video issues spike
alias: "Video issues spike alert"
description: "Notify when video issues increase significantly"
triggers:
- trigger: numeric_state
entity_id:
- sensor.overseerr_video_issues
above: 5
actions:
- action: notify.mobile_app
data:
message: >-
Video issues are elevated: {{ states('sensor.overseerr_video_issues') }} issues detected
title: "Video Quality Alert"
Daily issue report
alias: "Daily Overseerr issue summary"
description: "Send a daily report of all issue types"
triggers:
- trigger: time
at: "09:00:00"
conditions:
- condition: numeric_state
entity_id: sensor.overseerr_total_issues
above: 0
actions:
- action: notify.mobile_app
data:
title: "Overseerr Daily Report"
message: >-
Total Issues: {{ states('sensor.overseerr_total_issues') }}
Open: {{ states('sensor.overseerr_open_issues') }}
Closed: {{ states('sensor.overseerr_closed_issues') }}
Video: {{ states('sensor.overseerr_video_issues') }}
Audio: {{ states('sensor.overseerr_audio_issues') }}
Subtitle: {{ states('sensor.overseerr_subtitle_issues') }}
Create dashboard badge for subtitle issues
type: entity
entity: sensor.overseerr_subtitle_issues
name: Subtitle Issues
icon: mdi:subtitles
Data updates
When loading the integration, it will try to configure the webhook in Overseerr to give updates to Home Assistant. This makes the integration a push-based integration.
When the integration receives an update about the requests, it updates the statistics to make sure they are up to date. In addition, the integration checks for updates every 5 minutes.
Known limitations
There are a few known limitations for using the integration:
- Overseerr is only capable of having one webhook set up at a time. This means you can only have 1 Home Assistant instance connected to your Overseerr instance at a time.
- The integration is not able to function with CSRF protection turned on. In Overseer, go to Settings and turn off the CSRF Protection.
Removing the integration
This integration follows standard integration removal, no extra steps are required.
To remove an integration instance from Home Assistant
- Go to Settings > Devices & services and select the integration card.
- From the list of devices, select the integration instance you want to remove.
- Next to the entry, select the three dots
menu. Then, select Delete.
Troubleshooting
Failed to register Overseerr webhook
Make sure your Overseerr instance is able to reach your Home Assistant instance.