Guard against non supported entities (#26941)

This commit is contained in:
Paulus Schoutsen 2019-09-26 23:49:51 -07:00 committed by Pascal Vizeli
parent 9f6fade236
commit fc700c7937
2 changed files with 10 additions and 2 deletions

View File

@ -131,6 +131,10 @@ async def async_send_add_or_update_message(hass, config, entity_ids):
for entity_id in entity_ids: for entity_id in entity_ids:
domain = entity_id.split(".", 1)[0] domain = entity_id.split(".", 1)[0]
if domain not in ENTITY_ADAPTERS:
continue
alexa_entity = ENTITY_ADAPTERS[domain](hass, config, hass.states.get(entity_id)) alexa_entity = ENTITY_ADAPTERS[domain](hass, config, hass.states.get(entity_id))
endpoints.append(alexa_entity.serialize_discovery()) endpoints.append(alexa_entity.serialize_discovery())
@ -161,6 +165,10 @@ async def async_send_delete_message(hass, config, entity_ids):
for entity_id in entity_ids: for entity_id in entity_ids:
domain = entity_id.split(".", 1)[0] domain = entity_id.split(".", 1)[0]
if domain not in ENTITY_ADAPTERS:
continue
alexa_entity = ENTITY_ADAPTERS[domain](hass, config, hass.states.get(entity_id)) alexa_entity = ENTITY_ADAPTERS[domain](hass, config, hass.states.get(entity_id))
endpoints.append({"endpointId": alexa_entity.alexa_id()}) endpoints.append({"endpointId": alexa_entity.alexa_id()})

View File

@ -48,7 +48,7 @@ async def test_send_add_or_update_message(hass, aioclient_mock):
) )
await state_report.async_send_add_or_update_message( await state_report.async_send_add_or_update_message(
hass, DEFAULT_CONFIG, ["binary_sensor.test_contact"] hass, DEFAULT_CONFIG, ["binary_sensor.test_contact", "zwave.bla"]
) )
assert len(aioclient_mock.mock_calls) == 1 assert len(aioclient_mock.mock_calls) == 1
@ -75,7 +75,7 @@ async def test_send_delete_message(hass, aioclient_mock):
) )
await state_report.async_send_delete_message( await state_report.async_send_delete_message(
hass, DEFAULT_CONFIG, ["binary_sensor.test_contact"] hass, DEFAULT_CONFIG, ["binary_sensor.test_contact", "zwave.bla"]
) )
assert len(aioclient_mock.mock_calls) == 1 assert len(aioclient_mock.mock_calls) == 1