From 28e68eaada77f7029e76d77f4d5ef626998babe0 Mon Sep 17 00:00:00 2001
From: Chris Talkington <chris@talkingtontech.com>
Date: Mon, 9 Nov 2020 06:58:24 -0600
Subject: [PATCH] Reload sonarr config entry on options update (#41958)

---
 homeassistant/components/sonarr/__init__.py |  5 +---
 homeassistant/components/sonarr/sensor.py   | 33 ---------------------
 2 files changed, 1 insertion(+), 37 deletions(-)

diff --git a/homeassistant/components/sonarr/__init__.py b/homeassistant/components/sonarr/__init__.py
index d3330eab64b..3e2a5498c55 100644
--- a/homeassistant/components/sonarr/__init__.py
+++ b/homeassistant/components/sonarr/__init__.py
@@ -18,7 +18,6 @@ from homeassistant.const import (
 )
 from homeassistant.exceptions import ConfigEntryNotReady
 from homeassistant.helpers.aiohttp_client import async_get_clientsession
-from homeassistant.helpers.dispatcher import async_dispatcher_send
 from homeassistant.helpers.entity import Entity
 from homeassistant.helpers.typing import HomeAssistantType
 
@@ -125,9 +124,7 @@ def _async_start_reauth(hass: HomeAssistantType, entry: ConfigEntry):
 
 async def _async_update_listener(hass: HomeAssistantType, entry: ConfigEntry) -> None:
     """Handle options update."""
-    async_dispatcher_send(
-        hass, f"sonarr.{entry.entry_id}.entry_options_update", entry.options
-    )
+    await hass.config_entries.async_reload(entry.entry_id)
 
 
 class SonarrEntity(Entity):
diff --git a/homeassistant/components/sonarr/sensor.py b/homeassistant/components/sonarr/sensor.py
index 880019ecdd3..8a625846744 100644
--- a/homeassistant/components/sonarr/sensor.py
+++ b/homeassistant/components/sonarr/sensor.py
@@ -7,7 +7,6 @@ from sonarr import Sonarr, SonarrConnectionError, SonarrError
 
 from homeassistant.config_entries import ConfigEntry
 from homeassistant.const import DATA_GIGABYTES
-from homeassistant.helpers.dispatcher import async_dispatcher_connect
 from homeassistant.helpers.entity import Entity
 from homeassistant.helpers.typing import HomeAssistantType
 import homeassistant.util.dt as dt_util
@@ -291,18 +290,6 @@ class SonarrUpcomingSensor(SonarrSensor):
             unit_of_measurement="Episodes",
         )
 
-    async def async_added_to_hass(self):
-        """Listen for signals."""
-        await super().async_added_to_hass()
-
-        self.async_on_remove(
-            async_dispatcher_connect(
-                self.hass,
-                f"sonarr.{self._entry_id}.entry_options_update",
-                self.async_update_entry_options,
-            )
-        )
-
     @sonarr_exception_handler
     async def async_update(self) -> None:
         """Update entity."""
@@ -313,10 +300,6 @@ class SonarrUpcomingSensor(SonarrSensor):
             start=start.isoformat(), end=end.isoformat()
         )
 
-    async def async_update_entry_options(self, options: dict) -> None:
-        """Update sensor settings when config entry options are update."""
-        self._days = options[CONF_UPCOMING_DAYS]
-
     @property
     def device_state_attributes(self) -> Optional[Dict[str, Any]]:
         """Return the state attributes of the entity."""
@@ -352,28 +335,12 @@ class SonarrWantedSensor(SonarrSensor):
             enabled_default=False,
         )
 
-    async def async_added_to_hass(self):
-        """Listen for signals."""
-        await super().async_added_to_hass()
-
-        self.async_on_remove(
-            async_dispatcher_connect(
-                self.hass,
-                f"sonarr.{self._entry_id}.entry_options_update",
-                self.async_update_entry_options,
-            )
-        )
-
     @sonarr_exception_handler
     async def async_update(self) -> None:
         """Update entity."""
         self._results = await self.sonarr.wanted(page_size=self._max_items)
         self._total = self._results.total
 
-    async def async_update_entry_options(self, options: dict) -> None:
-        """Update sensor settings when config entry options are update."""
-        self._max_items = options[CONF_WANTED_MAX_ITEMS]
-
     @property
     def device_state_attributes(self) -> Optional[Dict[str, Any]]:
         """Return the state attributes of the entity."""
-- 
GitLab