FIX error on startup when my_climate is not found

This commit is contained in:
Jean-Marc Collin
2023-03-03 22:03:08 +01:00
parent 7c8717553b
commit ea7b6a0425
2 changed files with 16 additions and 19 deletions

View File

@@ -55,12 +55,16 @@ class VersatileThermostatBaseEntity(Entity):
def find_my_versatile_thermostat(self) -> VersatileThermostat:
"""Find the underlying climate entity"""
component: EntityComponent[ClimateEntity] = self.hass.data[CLIMATE_DOMAIN]
for entity in component.entities:
_LOGGER.debug("Device_info is %s", entity.device_info)
if entity.device_info == self.device_info:
_LOGGER.debug("Found %s!", entity)
return entity
try:
component: EntityComponent[ClimateEntity] = self.hass.data[CLIMATE_DOMAIN]
for entity in component.entities:
_LOGGER.debug("Device_info is %s", entity.device_info)
if entity.device_info == self.device_info:
_LOGGER.debug("Found %s!", entity)
return entity
except KeyError:
pass
return None
@callback

View File

@@ -4,10 +4,13 @@ import math
from homeassistant.core import HomeAssistant, callback, Event
from homeassistant.const import STATE_ON, UnitOfTime
from homeassistant.const import UnitOfTime
from homeassistant.components.sensor import SensorEntity
from homeassistant.components.sensor.const import SensorDeviceClass, SensorStateClass
from homeassistant.components.sensor import (
SensorEntity,
SensorDeviceClass,
SensorStateClass,
)
from homeassistant.config_entries import ConfigEntry
from homeassistant.helpers.entity_platform import AddEntitiesCallback
@@ -15,10 +18,6 @@ from homeassistant.helpers.entity_platform import AddEntitiesCallback
from .commons import VersatileThermostatBaseEntity
from .const import (
CONF_NAME,
CONF_USE_POWER_FEATURE,
CONF_USE_PRESENCE_FEATURE,
CONF_USE_MOTION_FEATURE,
CONF_USE_WINDOW_FEATURE,
CONF_DEVICE_POWER,
CONF_PROP_FUNCTION,
PROPORTIONAL_FUNCTION_TPI,
@@ -55,12 +54,6 @@ async def async_setup_entry(
entities.append(OnPercentSensor(hass, unique_id, name, entry.data))
entities.append(OnTimeSensor(hass, unique_id, name, entry.data))
entities.append(OffTimeSensor(hass, unique_id, name, entry.data))
# if entry.data.get(CONF_USE_WINDOW_FEATURE):
# entities.append(WindowBinarySensor(hass, unique_id, name, entry.data))
# if entry.data.get(CONF_USE_PRESENCE_FEATURE):
# entities.append(PresenceBinarySensor(hass, unique_id, name, entry.data))
# if entry.data.get(CONF_USE_POWER_FEATURE):
# entities.append(OverpoweringBinarySensor(hass, unique_id, name, entry.data))
async_add_entities(entities, True)