Use config entry callbacks in Gree (#104740)

This commit is contained in:
Joost Lekkerkerker 2023-11-29 19:03:58 +01:00 committed by GitHub
parent e10d58ef3e
commit 1fefa93648
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 9 additions and 18 deletions

View File

@ -11,7 +11,6 @@ from homeassistant.helpers.event import async_track_time_interval
from .bridge import DiscoveryService from .bridge import DiscoveryService
from .const import ( from .const import (
COORDINATORS, COORDINATORS,
DATA_DISCOVERY_INTERVAL,
DATA_DISCOVERY_SERVICE, DATA_DISCOVERY_SERVICE,
DISCOVERY_SCAN_INTERVAL, DISCOVERY_SCAN_INTERVAL,
DISPATCHERS, DISPATCHERS,
@ -29,7 +28,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
gree_discovery = DiscoveryService(hass) gree_discovery = DiscoveryService(hass)
hass.data[DATA_DISCOVERY_SERVICE] = gree_discovery hass.data[DATA_DISCOVERY_SERVICE] = gree_discovery
hass.data[DOMAIN].setdefault(DISPATCHERS, [])
await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS) await hass.config_entries.async_forward_entry_setups(entry, PLATFORMS)
async def _async_scan_update(_=None): async def _async_scan_update(_=None):
@ -39,8 +37,10 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
_LOGGER.debug("Scanning network for Gree devices") _LOGGER.debug("Scanning network for Gree devices")
await _async_scan_update() await _async_scan_update()
hass.data[DOMAIN][DATA_DISCOVERY_INTERVAL] = async_track_time_interval( entry.async_on_unload(
hass, _async_scan_update, timedelta(seconds=DISCOVERY_SCAN_INTERVAL) async_track_time_interval(
hass, _async_scan_update, timedelta(seconds=DISCOVERY_SCAN_INTERVAL)
)
) )
return True return True
@ -48,13 +48,6 @@ async def async_setup_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool: async def async_unload_entry(hass: HomeAssistant, entry: ConfigEntry) -> bool:
"""Unload a config entry.""" """Unload a config entry."""
if hass.data[DOMAIN].get(DISPATCHERS) is not None:
for cleanup in hass.data[DOMAIN][DISPATCHERS]:
cleanup()
if hass.data[DOMAIN].get(DATA_DISCOVERY_INTERVAL) is not None:
hass.data[DOMAIN].pop(DATA_DISCOVERY_INTERVAL)()
if hass.data.get(DATA_DISCOVERY_SERVICE) is not None: if hass.data.get(DATA_DISCOVERY_SERVICE) is not None:
hass.data.pop(DATA_DISCOVERY_SERVICE) hass.data.pop(DATA_DISCOVERY_SERVICE)

View File

@ -47,7 +47,6 @@ from .bridge import DeviceDataUpdateCoordinator
from .const import ( from .const import (
COORDINATORS, COORDINATORS,
DISPATCH_DEVICE_DISCOVERED, DISPATCH_DEVICE_DISCOVERED,
DISPATCHERS,
DOMAIN, DOMAIN,
FAN_MEDIUM_HIGH, FAN_MEDIUM_HIGH,
FAN_MEDIUM_LOW, FAN_MEDIUM_LOW,
@ -88,7 +87,7 @@ SWING_MODES = [SWING_OFF, SWING_VERTICAL, SWING_HORIZONTAL, SWING_BOTH]
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
config_entry: ConfigEntry, entry: ConfigEntry,
async_add_entities: AddEntitiesCallback, async_add_entities: AddEntitiesCallback,
) -> None: ) -> None:
"""Set up the Gree HVAC device from a config entry.""" """Set up the Gree HVAC device from a config entry."""
@ -101,7 +100,7 @@ async def async_setup_entry(
for coordinator in hass.data[DOMAIN][COORDINATORS]: for coordinator in hass.data[DOMAIN][COORDINATORS]:
init_device(coordinator) init_device(coordinator)
hass.data[DOMAIN][DISPATCHERS].append( entry.async_on_unload(
async_dispatcher_connect(hass, DISPATCH_DEVICE_DISCOVERED, init_device) async_dispatcher_connect(hass, DISPATCH_DEVICE_DISCOVERED, init_device)
) )

View File

@ -3,7 +3,6 @@
COORDINATORS = "coordinators" COORDINATORS = "coordinators"
DATA_DISCOVERY_SERVICE = "gree_discovery" DATA_DISCOVERY_SERVICE = "gree_discovery"
DATA_DISCOVERY_INTERVAL = "gree_discovery_interval"
DISCOVERY_SCAN_INTERVAL = 300 DISCOVERY_SCAN_INTERVAL = 300
DISCOVERY_TIMEOUT = 8 DISCOVERY_TIMEOUT = 8

View File

@ -17,7 +17,7 @@ from homeassistant.core import HomeAssistant, callback
from homeassistant.helpers.dispatcher import async_dispatcher_connect from homeassistant.helpers.dispatcher import async_dispatcher_connect
from homeassistant.helpers.entity_platform import AddEntitiesCallback from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .const import COORDINATORS, DISPATCH_DEVICE_DISCOVERED, DISPATCHERS, DOMAIN from .const import COORDINATORS, DISPATCH_DEVICE_DISCOVERED, DOMAIN
from .entity import GreeEntity from .entity import GreeEntity
@ -102,7 +102,7 @@ GREE_SWITCHES: tuple[GreeSwitchEntityDescription, ...] = (
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
config_entry: ConfigEntry, entry: ConfigEntry,
async_add_entities: AddEntitiesCallback, async_add_entities: AddEntitiesCallback,
) -> None: ) -> None:
"""Set up the Gree HVAC device from a config entry.""" """Set up the Gree HVAC device from a config entry."""
@ -119,7 +119,7 @@ async def async_setup_entry(
for coordinator in hass.data[DOMAIN][COORDINATORS]: for coordinator in hass.data[DOMAIN][COORDINATORS]:
init_device(coordinator) init_device(coordinator)
hass.data[DOMAIN][DISPATCHERS].append( entry.async_on_unload(
async_dispatcher_connect(hass, DISPATCH_DEVICE_DISCOVERED, init_device) async_dispatcher_connect(hass, DISPATCH_DEVICE_DISCOVERED, init_device)
) )