From 8f37c843f5af9751c0a7e9791c95319fa6bfa775 Mon Sep 17 00:00:00 2001 From: David Bonnes Date: Mon, 20 Jan 2020 20:49:04 +0000 Subject: [PATCH] Handle ghost zones gracefully (#31008) --- homeassistant/components/evohome/climate.py | 27 ++++++++++++------- .../components/evohome/water_heater.py | 2 +- 2 files changed, 19 insertions(+), 10 deletions(-) diff --git a/homeassistant/components/evohome/climate.py b/homeassistant/components/evohome/climate.py index 1c877b980df..46a4fbf335c 100644 --- a/homeassistant/components/evohome/climate.py +++ b/homeassistant/components/evohome/climate.py @@ -97,16 +97,25 @@ async def async_setup_platform( zones = [] for zone in broker.tcs.zones.values(): - _LOGGER.debug( - "Found a %s (%s), id=%s, name=%s", - zone.zoneType, - zone.modelType, - zone.zoneId, - zone.name, - ) - new_entity = EvoZone(broker, zone) + if zone.zoneType == "Unknown": + _LOGGER.warning( + "Ignoring: %s (%s), id=%s, name=%s: invalid zone type", + zone.zoneType, + zone.modelType, + zone.zoneId, + zone.name, + ) + else: + _LOGGER.debug( + "Adding: %s (%s), id=%s, name=%s", + zone.zoneType, + zone.modelType, + zone.zoneId, + zone.name, + ) - zones.append(new_entity) + new_entity = EvoZone(broker, zone) + zones.append(new_entity) async_add_entities([controller] + zones, update_before_add=True) diff --git a/homeassistant/components/evohome/water_heater.py b/homeassistant/components/evohome/water_heater.py index cd4fb2aadce..cc282534f1b 100644 --- a/homeassistant/components/evohome/water_heater.py +++ b/homeassistant/components/evohome/water_heater.py @@ -34,7 +34,7 @@ async def async_setup_platform( broker = hass.data[DOMAIN]["broker"] _LOGGER.debug( - "Found the DHW Controller (%s), id: %s", + "Adding: DhwController (%s), id=%s", broker.tcs.hotwater.zone_type, broker.tcs.hotwater.zoneId, )