mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 15:17:35 +00:00
Use async_at_started in Speedtest.Net (#112110)
This commit is contained in:
parent
83dc99cd9e
commit
3f1b8eadd2
@ -7,9 +7,10 @@ from functools import partial
|
|||||||
import speedtest
|
import speedtest
|
||||||
|
|
||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.const import EVENT_HOMEASSISTANT_STARTED, Platform
|
from homeassistant.const import Platform
|
||||||
from homeassistant.core import CoreState, Event, HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import ConfigEntryNotReady
|
from homeassistant.exceptions import ConfigEntryNotReady
|
||||||
|
from homeassistant.helpers.start import async_at_started
|
||||||
|
|
||||||
from .const import DOMAIN
|
from .const import DOMAIN
|
||||||
from .coordinator import SpeedTestDataCoordinator
|
from .coordinator import SpeedTestDataCoordinator
|
||||||
@ -28,17 +29,12 @@ async def async_setup_entry(hass: HomeAssistant, config_entry: ConfigEntry) -> b
|
|||||||
except speedtest.SpeedtestException as err:
|
except speedtest.SpeedtestException as err:
|
||||||
raise ConfigEntryNotReady from err
|
raise ConfigEntryNotReady from err
|
||||||
|
|
||||||
async def _request_refresh(event: Event) -> None:
|
async def _async_finish_startup(hass: HomeAssistant) -> None:
|
||||||
"""Request a refresh."""
|
"""Run this only when HA has finished its startup."""
|
||||||
await coordinator.async_request_refresh()
|
|
||||||
|
|
||||||
if hass.state is CoreState.running:
|
|
||||||
await coordinator.async_config_entry_first_refresh()
|
await coordinator.async_config_entry_first_refresh()
|
||||||
else:
|
|
||||||
# Running a speed test during startup can prevent
|
# Don't start a speedtest during startup
|
||||||
# integrations from being able to setup because it
|
async_at_started(hass, _async_finish_startup)
|
||||||
# can saturate the network interface.
|
|
||||||
hass.bus.async_listen_once(EVENT_HOMEASSISTANT_STARTED, _request_refresh)
|
|
||||||
|
|
||||||
hass.data[DOMAIN] = coordinator
|
hass.data[DOMAIN] = coordinator
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user