From dabb50f7eec7dfde753158841fe14c931c2b79bf Mon Sep 17 00:00:00 2001 From: jjlawren Date: Thu, 8 Jul 2021 02:15:56 -0500 Subject: [PATCH] Warn if `interface_addr` remains in Sonos configuration (#52652) --- homeassistant/components/sonos/__init__.py | 26 +++++++++++++++------- 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/homeassistant/components/sonos/__init__.py b/homeassistant/components/sonos/__init__.py index 218ddaa8e15..ec16ec5bd87 100644 --- a/homeassistant/components/sonos/__init__.py +++ b/homeassistant/components/sonos/__init__.py @@ -52,14 +52,17 @@ CONFIG_SCHEMA = vol.Schema( { DOMAIN: vol.Schema( { - MP_DOMAIN: vol.Schema( - { - vol.Optional(CONF_ADVERTISE_ADDR): cv.string, - vol.Optional(CONF_INTERFACE_ADDR): cv.string, - vol.Optional(CONF_HOSTS): vol.All( - cv.ensure_list_csv, [cv.string] - ), - } + MP_DOMAIN: vol.All( + cv.deprecated(CONF_INTERFACE_ADDR), + vol.Schema( + { + vol.Optional(CONF_ADVERTISE_ADDR): cv.string, + vol.Optional(CONF_INTERFACE_ADDR): cv.string, + vol.Optional(CONF_HOSTS): vol.All( + cv.ensure_list_csv, [cv.string] + ), + } + ), ) } ) @@ -126,6 +129,13 @@ async def async_setup_entry( # noqa: C901 if advertise_addr: pysonos.config.EVENT_ADVERTISE_IP = advertise_addr + if deprecated_address := config.get(CONF_INTERFACE_ADDR): + _LOGGER.warning( + "'%s' is deprecated, enable %s in the Network integration (https://www.home-assistant.io/integrations/network/)", + CONF_INTERFACE_ADDR, + deprecated_address, + ) + async def _async_stop_event_listener(event: Event) -> None: await asyncio.gather( *[speaker.async_unsubscribe() for speaker in data.discovered.values()],