Handle missing keys in Honeywell (#98392)
parent
5bf80a0f6d
commit
3e1d2a1000
|
@ -146,13 +146,13 @@ class HoneywellUSThermostat(ClimateEntity):
|
|||
| ClimateEntityFeature.TARGET_TEMPERATURE_RANGE
|
||||
)
|
||||
|
||||
if device._data["canControlHumidification"]:
|
||||
if device._data.get("canControlHumidification"):
|
||||
self._attr_supported_features |= ClimateEntityFeature.TARGET_HUMIDITY
|
||||
|
||||
if device.raw_ui_data["SwitchEmergencyHeatAllowed"]:
|
||||
if device.raw_ui_data.get("SwitchEmergencyHeatAllowed"):
|
||||
self._attr_supported_features |= ClimateEntityFeature.AUX_HEAT
|
||||
|
||||
if not device._data["hasFan"]:
|
||||
if not device._data.get("hasFan"):
|
||||
return
|
||||
|
||||
# not all honeywell fans support all modes
|
||||
|
|
|
@ -20,6 +20,7 @@ from homeassistant.helpers.device_registry import DeviceInfo
|
|||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||
from homeassistant.helpers.typing import StateType
|
||||
|
||||
from . import HoneywellData
|
||||
from .const import DOMAIN, HUMIDITY_STATUS_KEY, TEMPERATURE_STATUS_KEY
|
||||
|
||||
|
||||
|
@ -71,7 +72,7 @@ async def async_setup_entry(
|
|||
async_add_entities: AddEntitiesCallback,
|
||||
) -> None:
|
||||
"""Set up the Honeywell thermostat."""
|
||||
data = hass.data[DOMAIN][config_entry.entry_id]
|
||||
data: HoneywellData = hass.data[DOMAIN][config_entry.entry_id]
|
||||
sensors = []
|
||||
|
||||
for device in data.devices.values():
|
||||
|
|
|
@ -48,13 +48,13 @@ FAN_ACTION = "fan_action"
|
|||
PRESET_HOLD = "Hold"
|
||||
|
||||
|
||||
async def test_no_thermostats(
|
||||
async def test_no_thermostat_options(
|
||||
hass: HomeAssistant, device: MagicMock, config_entry: MagicMock
|
||||
) -> None:
|
||||
"""Test the setup of the climate entities when there are no appliances available."""
|
||||
"""Test the setup of the climate entities when there are no additional options available."""
|
||||
device._data = {}
|
||||
await init_integration(hass, config_entry)
|
||||
assert len(hass.states.async_all()) == 0
|
||||
assert len(hass.states.async_all()) == 1
|
||||
|
||||
|
||||
async def test_static_attributes(
|
||||
|
|
Loading…
Reference in New Issue