diff --git a/homeassistant/components/tuya/climate.py b/homeassistant/components/tuya/climate.py index 0ad651344e7..06db6ea9f4b 100644 --- a/homeassistant/components/tuya/climate.py +++ b/homeassistant/components/tuya/climate.py @@ -5,7 +5,6 @@ from __future__ import annotations from dataclasses import dataclass from typing import Any, cast -from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_device_handlers.definition.climate import ( TuyaClimateDefinition, get_default_definition, @@ -62,8 +61,6 @@ _HA_TO_TUYA_TEMPERATURE = { UnitOfTemperature.FAHRENHEIT: TuyaUnitOfTemperature.FAHRENHEIT, } -_FALLBACK_SWITH_ONLY_HVAC_MODE = HVACMode.HEAT_COOL - @dataclass(frozen=True, kw_only=True) class TuyaClimateEntityDescription(ClimateEntityDescription): @@ -100,35 +97,6 @@ CLIMATE_DESCRIPTIONS: dict[DeviceCategory, TuyaClimateEntityDescription] = { } -def _get_quirk_entities( - manager: Manager, device: CustomerDevice, temperature_unit: UnitOfTemperature -) -> list[TuyaClimateEntity] | None: - if (quirk := TUYA_QUIRKS_REGISTRY.get_quirk_for_device(device)) is None or ( - entity_quirks := quirk.climate_quirks - ) is None: - return None - return [ - TuyaClimateEntity( - device, - manager, - TuyaClimateEntityDescription( - key=entity_quirk.key, - switch_only_hvac_mode=_FALLBACK_SWITH_ONLY_HVAC_MODE, - ), - definition, - ) - for entity_quirk in entity_quirks - if ( - definition := entity_quirk.definition_fn( - device, - _HA_TO_TUYA_TEMPERATURE.get( - temperature_unit, TuyaUnitOfTemperature.CELSIUS - ), - ) - ) - ] - - async def async_setup_entry( hass: HomeAssistant, entry: TuyaConfigEntry, @@ -143,13 +111,6 @@ async def async_setup_entry( entities: list[TuyaClimateEntity] = [] for device_id in device_ids: device = manager.device_map[device_id] - if ( - quirk_entities := _get_quirk_entities( - manager, device, hass.config.units.temperature_unit - ) - ) is not None: - entities.extend(quirk_entities) - continue if (description := CLIMATE_DESCRIPTIONS.get(device.category)) and ( definition := get_default_definition( device, diff --git a/tests/components/tuya/test_climate.py b/tests/components/tuya/test_climate.py index f500db57ca4..cbde579d34d 100644 --- a/tests/components/tuya/test_climate.py +++ b/tests/components/tuya/test_climate.py @@ -3,12 +3,11 @@ from __future__ import annotations from typing import Any -from unittest.mock import Mock, patch +from unittest.mock import patch import pytest from syrupy.assertion import SnapshotAssertion from syrupy.filters import props -from tuya_device_handlers import TUYA_QUIRKS_REGISTRY from tuya_sharing import CustomerDevice, Manager from homeassistant.components.climate import ( @@ -44,13 +43,7 @@ from . import initialize_entry from tests.common import MockConfigEntry, snapshot_platform -@pytest.fixture(autouse=True) -def platform_autouse(): - """Platform fixture.""" - with patch("homeassistant.components.tuya.PLATFORMS", [Platform.CLIMATE]): - yield - - +@patch("homeassistant.components.tuya.PLATFORMS", [Platform.CLIMATE]) async def test_platform_setup_and_discovery( hass: HomeAssistant, mock_manager: Manager, @@ -65,32 +58,7 @@ async def test_platform_setup_and_discovery( await snapshot_platform(hass, entity_registry, snapshot, mock_config_entry.entry_id) -@pytest.mark.parametrize("mock_device_code", ["kt_5wnlzekkstwcdsvm"]) -@pytest.mark.parametrize( - ("get_quirks", "available"), - [ - (None, True), - ([], False), - ], -) -async def test_empty_quirk( - hass: HomeAssistant, - mock_manager: Manager, - mock_config_entry: MockConfigEntry, - mock_device: CustomerDevice, - get_quirks: list | None, - available: bool, -) -> None: - """Test None quirk still creates default entities.""" - with patch.object(TUYA_QUIRKS_REGISTRY, "get_quirk_for_device") as mock_get_quirk: - mock_get_quirk.return_value = Mock() - mock_get_quirk.return_value.climate_quirks = get_quirks - await initialize_entry(hass, mock_manager, mock_config_entry, mock_device) - - state = hass.states.get("climate.air_conditioner") - assert (state is not None) is available - - +@patch("homeassistant.components.tuya.PLATFORMS", [Platform.CLIMATE]) async def test_us_customary_system( hass: HomeAssistant, mock_manager: Manager,