From 7e56f2cc0e2ff3ed106bcc0e3bcc14888aefe755 Mon Sep 17 00:00:00 2001 From: "J. Nick Koston" Date: Fri, 15 May 2020 11:09:21 -0500 Subject: [PATCH] Update cast to use shared zeroconf (#35570) * Update cast to use the shared zeroconf instance * Add zeroconf to after_dependencies * Bump version to 5.2.0 --- homeassistant/components/cast/discovery.py | 5 +++-- homeassistant/components/cast/manifest.json | 4 ++-- homeassistant/components/cast/media_player.py | 2 ++ requirements_all.txt | 2 +- requirements_test_all.txt | 2 +- 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/homeassistant/components/cast/discovery.py b/homeassistant/components/cast/discovery.py index 9f90b074c3d..b15346417de 100644 --- a/homeassistant/components/cast/discovery.py +++ b/homeassistant/components/cast/discovery.py @@ -85,9 +85,10 @@ def setup_internal_discovery(hass: HomeAssistant) -> None: _LOGGER.debug("Starting internal pychromecast discovery.") listener, browser = pychromecast.start_discovery( - internal_add_callback, internal_remove_callback + internal_add_callback, + internal_remove_callback, + ChromeCastZeroconf.get_zeroconf(), ) - ChromeCastZeroconf.set_zeroconf(browser.zc) def stop_discovery(event): """Stop discovery of new chromecasts.""" diff --git a/homeassistant/components/cast/manifest.json b/homeassistant/components/cast/manifest.json index ddb6697d370..baeeef6de65 100644 --- a/homeassistant/components/cast/manifest.json +++ b/homeassistant/components/cast/manifest.json @@ -3,8 +3,8 @@ "name": "Google Cast", "config_flow": true, "documentation": "https://www.home-assistant.io/integrations/cast", - "requirements": ["pychromecast==5.1.0"], - "after_dependencies": ["cloud"], + "requirements": ["pychromecast==5.2.0"], + "after_dependencies": ["cloud","zeroconf"], "zeroconf": ["_googlecast._tcp.local."], "codeowners": ["@emontnemery"] } diff --git a/homeassistant/components/cast/media_player.py b/homeassistant/components/cast/media_player.py index fd7443d1c26..84917e0194a 100644 --- a/homeassistant/components/cast/media_player.py +++ b/homeassistant/components/cast/media_player.py @@ -14,6 +14,7 @@ from pychromecast.socket_client import ( ) import voluptuous as vol +from homeassistant.components import zeroconf from homeassistant.components.media_player import PLATFORM_SCHEMA, MediaPlayerEntity from homeassistant.components.media_player.const import ( MEDIA_TYPE_MOVIE, @@ -170,6 +171,7 @@ async def _async_setup_platform( for chromecast in list(hass.data[KNOWN_CHROMECAST_INFO_KEY]): async_cast_discovered(chromecast) + ChromeCastZeroconf.set_zeroconf(await zeroconf.async_get_instance(hass)) hass.async_add_executor_job(setup_internal_discovery, hass) diff --git a/requirements_all.txt b/requirements_all.txt index 17d1ab65373..037adcd1126 100644 --- a/requirements_all.txt +++ b/requirements_all.txt @@ -1242,7 +1242,7 @@ pycfdns==0.0.1 pychannels==1.0.0 # homeassistant.components.cast -pychromecast==5.1.0 +pychromecast==5.2.0 # homeassistant.components.cmus pycmus==0.1.1 diff --git a/requirements_test_all.txt b/requirements_test_all.txt index cdff16b7494..975998f9f5a 100644 --- a/requirements_test_all.txt +++ b/requirements_test_all.txt @@ -527,7 +527,7 @@ pyblackbird==0.5 pybotvac==0.0.17 # homeassistant.components.cast -pychromecast==5.1.0 +pychromecast==5.2.0 # homeassistant.components.coolmaster pycoolmasternet==0.0.4