Ignore HEOS 1, 3, 5 and 7 for DenonAvr ssdp discovery (#37579)
This commit is contained in:
parent
89599bc3cf
commit
b9f97e64f8
2 changed files with 26 additions and 0 deletions
|
@ -20,6 +20,7 @@ _LOGGER = logging.getLogger(__name__)
|
|||
DOMAIN = "denonavr"
|
||||
|
||||
SUPPORTED_MANUFACTURERS = ["Denon", "DENON", "Marantz"]
|
||||
IGNORED_MODELS = ["HEOS 1", "HEOS 3", "HEOS 5", "HEOS 7"]
|
||||
|
||||
CONF_SHOW_ALL_SOURCES = "show_all_sources"
|
||||
CONF_ZONE2 = "zone2"
|
||||
|
@ -217,6 +218,9 @@ class DenonAvrFlowHandler(config_entries.ConfigFlow, domain=DOMAIN):
|
|||
self.serial_number = discovery_info[ssdp.ATTR_UPNP_SERIAL]
|
||||
self.host = urlparse(discovery_info[ssdp.ATTR_SSDP_LOCATION]).hostname
|
||||
|
||||
if self.model_name in IGNORED_MODELS:
|
||||
return self.async_abort(reason="not_denonavr_manufacturer")
|
||||
|
||||
unique_id = self.construct_unique_id(self.model_name, self.serial_number)
|
||||
await self.async_set_unique_id(unique_id)
|
||||
self._abort_if_unique_id_configured({CONF_HOST: self.host})
|
||||
|
|
|
@ -23,6 +23,7 @@ TEST_MAC = "ab:cd:ef:gh"
|
|||
TEST_HOST2 = "5.6.7.8"
|
||||
TEST_NAME = "Test_Receiver"
|
||||
TEST_MODEL = "model5"
|
||||
TEST_IGNORED_MODEL = "HEOS 7"
|
||||
TEST_RECEIVER_TYPE = "avr-x"
|
||||
TEST_SERIALNUMBER = "123456789"
|
||||
TEST_MANUFACTURER = "Denon"
|
||||
|
@ -470,6 +471,27 @@ async def test_config_flow_ssdp_missing_info(hass):
|
|||
assert result["reason"] == "not_denonavr_missing"
|
||||
|
||||
|
||||
async def test_config_flow_ssdp_ignored_model(hass):
|
||||
"""
|
||||
Failed flow initialized by ssdp discovery.
|
||||
|
||||
Model in the ignored models list.
|
||||
"""
|
||||
result = await hass.config_entries.flow.async_init(
|
||||
DOMAIN,
|
||||
context={"source": config_entries.SOURCE_SSDP},
|
||||
data={
|
||||
ssdp.ATTR_UPNP_MANUFACTURER: TEST_MANUFACTURER,
|
||||
ssdp.ATTR_UPNP_MODEL_NAME: TEST_IGNORED_MODEL,
|
||||
ssdp.ATTR_UPNP_SERIAL: TEST_SERIALNUMBER,
|
||||
ssdp.ATTR_SSDP_LOCATION: TEST_SSDP_LOCATION,
|
||||
},
|
||||
)
|
||||
|
||||
assert result["type"] == "abort"
|
||||
assert result["reason"] == "not_denonavr_manufacturer"
|
||||
|
||||
|
||||
async def test_options_flow(hass):
|
||||
"""Test specifying non default settings using options flow."""
|
||||
config_entry = MockConfigEntry(
|
||||
|
|
Loading…
Add table
Reference in a new issue