Fix rachio webhook not being unregistered on unload (#73795)
This commit is contained in:
parent
504f4a7acf
commit
4bfdc61045
7 changed files with 89 additions and 55 deletions
|
@ -9,6 +9,7 @@ from homeassistant.components.binary_sensor import (
|
|||
from homeassistant.config_entries import ConfigEntry
|
||||
from homeassistant.core import HomeAssistant, callback
|
||||
from homeassistant.helpers.dispatcher import async_dispatcher_connect
|
||||
from homeassistant.helpers.entity import Entity
|
||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
|
||||
from .const import (
|
||||
|
@ -21,6 +22,7 @@ from .const import (
|
|||
SIGNAL_RACHIO_RAIN_SENSOR_UPDATE,
|
||||
STATUS_ONLINE,
|
||||
)
|
||||
from .device import RachioPerson
|
||||
from .entity import RachioDevice
|
||||
from .webhooks import (
|
||||
SUBTYPE_COLD_REBOOT,
|
||||
|
@ -41,12 +43,13 @@ async def async_setup_entry(
|
|||
"""Set up the Rachio binary sensors."""
|
||||
entities = await hass.async_add_executor_job(_create_entities, hass, config_entry)
|
||||
async_add_entities(entities)
|
||||
_LOGGER.info("%d Rachio binary sensor(s) added", len(entities))
|
||||
_LOGGER.debug("%d Rachio binary sensor(s) added", len(entities))
|
||||
|
||||
|
||||
def _create_entities(hass, config_entry):
|
||||
entities = []
|
||||
for controller in hass.data[DOMAIN_RACHIO][config_entry.entry_id].controllers:
|
||||
def _create_entities(hass: HomeAssistant, config_entry: ConfigEntry) -> list[Entity]:
|
||||
entities: list[Entity] = []
|
||||
person: RachioPerson = hass.data[DOMAIN_RACHIO][config_entry.entry_id]
|
||||
for controller in person.controllers:
|
||||
entities.append(RachioControllerOnlineBinarySensor(controller))
|
||||
entities.append(RachioRainSensor(controller))
|
||||
return entities
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue