Always use shared zeroconf in cast config flow (#42210)

pull/42225/head
Erik Montnemery 2020-10-22 17:47:19 +02:00 committed by GitHub
parent 13b2d10194
commit 57cd3058d9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 12 additions and 4 deletions

View File

@ -4,6 +4,7 @@ import functools
from pychromecast.discovery import discover_chromecasts, stop_discovery
from homeassistant import config_entries
from homeassistant.components import zeroconf
from homeassistant.helpers import config_entry_flow
from .const import DOMAIN
@ -11,12 +12,19 @@ from .helpers import ChromeCastZeroconf
async def _async_has_devices(hass):
"""Return if there are devices that can be discovered."""
"""
Return if there are devices that can be discovered.
This function will be called if no devices are already found through the zeroconf
integration.
"""
zeroconf_instance = ChromeCastZeroconf.get_zeroconf()
if zeroconf_instance is None:
zeroconf_instance = await zeroconf.async_get_instance(hass)
casts, browser = await hass.async_add_executor_job(
functools.partial(
discover_chromecasts, zeroconf_instance=ChromeCastZeroconf.get_zeroconf()
)
functools.partial(discover_chromecasts, zeroconf_instance=zeroconf_instance)
)
stop_discovery(browser)
return casts