fix: misuse of getting key or value from dict[int, any]

This commit is contained in:
LiShuzhen 2025-01-22 18:11:55 +08:00
parent 9b14d1b086
commit 9562049af9

View File

@ -62,7 +62,7 @@ from homeassistant.components.climate import (
ATTR_TEMPERATURE, ATTR_TEMPERATURE,
HVACMode, HVACMode,
ClimateEntity, ClimateEntity,
ClimateEntityFeature, ClimateEntityFeature
) )
from .miot.const import DOMAIN from .miot.const import DOMAIN
@ -75,7 +75,7 @@ _LOGGER = logging.getLogger(__name__)
async def async_setup_entry( async def async_setup_entry(
hass: HomeAssistant, hass: HomeAssistant,
config_entry: ConfigEntry, config_entry: ConfigEntry,
async_add_entities: AddEntitiesCallback, async_add_entities: AddEntitiesCallback
) -> None: ) -> None:
"""Set up a config entry.""" """Set up a config entry."""
device_list: list[MIoTDevice] = hass.data[DOMAIN]['devices'][ device_list: list[MIoTDevice] = hass.data[DOMAIN]['devices'][
@ -211,14 +211,14 @@ class FeaturePresetMode(MIoTServiceEntity, ClimateEntity):
"""Set the preset mode.""" """Set the preset mode."""
await self.set_property_async( await self.set_property_async(
self._prop_mode, self._prop_mode,
value=self.get_map_value(map_=self._mode_map, key=preset_mode)) value=self.get_map_key(map_=self._mode_map, value=preset_mode))
@property @property
def preset_mode(self) -> Optional[str]: def preset_mode(self) -> Optional[str]:
return ( return (
self.get_map_key( self.get_map_value(
map_=self._mode_map, map_=self._mode_map,
value=self.get_prop_value(prop=self._prop_mode)) key=self.get_prop_value(prop=self._prop_mode))
if self._prop_mode else None) if self._prop_mode else None)
@ -265,8 +265,8 @@ class FeatureFanMode(MIoTServiceEntity, ClimateEntity):
if fan_mode == FAN_ON: if fan_mode == FAN_ON:
await self.set_property_async(prop=self._prop_fan_on, value=True) await self.set_property_async(prop=self._prop_fan_on, value=True)
return return
mode_value = self.get_map_value( mode_value = self.get_map_key(
map_=self._fan_mode_map, key=fan_mode) map_=self._fan_mode_map, value=fan_mode)
if mode_value is None or not await self.set_property_async( if mode_value is None or not await self.set_property_async(
prop=self._prop_fan_level, value=mode_value prop=self._prop_fan_level, value=mode_value
): ):
@ -283,9 +283,9 @@ class FeatureFanMode(MIoTServiceEntity, ClimateEntity):
return ( return (
FAN_ON if self.get_prop_value(prop=self._prop_fan_on) FAN_ON if self.get_prop_value(prop=self._prop_fan_on)
else FAN_OFF) else FAN_OFF)
return self.get_map_key( return self.get_map_value(
map_=self._fan_mode_map, map_=self._fan_mode_map,
value=self.get_prop_value(prop=self._prop_fan_level)) key=self.get_prop_value(prop=self._prop_fan_level))
class FeatureSwingMode(MIoTServiceEntity, ClimateEntity): class FeatureSwingMode(MIoTServiceEntity, ClimateEntity):
@ -457,7 +457,7 @@ class Heater(
FeatureTargetTemperature, FeatureTargetTemperature,
FeatureTemperature, FeatureTemperature,
FeatureHumidity, FeatureHumidity,
FeaturePresetMode, FeaturePresetMode
): ):
"""Heater""" """Heater"""
@ -492,7 +492,7 @@ class AirConditioner(
FeatureTemperature, FeatureTemperature,
FeatureHumidity, FeatureHumidity,
FeatureFanMode, FeatureFanMode,
FeatureSwingMode, FeatureSwingMode
): ):
"""Air conditioner""" """Air conditioner"""
_prop_mode: Optional[MIoTSpecProperty] _prop_mode: Optional[MIoTSpecProperty]
@ -562,8 +562,8 @@ class AirConditioner(
# set mode # set mode
if self._prop_mode is None: if self._prop_mode is None:
return return
mode_value = self.get_map_value( mode_value = self.get_map_key(
map_=self._hvac_mode_map, key=hvac_mode) map_=self._hvac_mode_map, value=hvac_mode)
if mode_value is None or not await self.set_property_async( if mode_value is None or not await self.set_property_async(
prop=self._prop_mode, value=mode_value prop=self._prop_mode, value=mode_value
): ):
@ -576,9 +576,9 @@ class AirConditioner(
if self.get_prop_value(prop=self._prop_on) is False: if self.get_prop_value(prop=self._prop_on) is False:
return HVACMode.OFF return HVACMode.OFF
return ( return (
self.get_map_key( self.get_map_value(
map_=self._hvac_mode_map, map_=self._hvac_mode_map,
value=self.get_prop_value(prop=self._prop_mode)) key=self.get_prop_value(prop=self._prop_mode))
if self._prop_mode else None) if self._prop_mode else None)
def __ac_state_changed(self, prop: MIoTSpecProperty, value: Any) -> None: def __ac_state_changed(self, prop: MIoTSpecProperty, value: Any) -> None:
@ -611,8 +611,8 @@ class AirConditioner(
if mode: if mode:
self.set_prop_value( self.set_prop_value(
prop=self._prop_mode, prop=self._prop_mode,
value=self.get_map_value( value=self.get_map_key(
map_=self._hvac_mode_map, key=mode)) map_=self._hvac_mode_map, value=mode))
# T: target temperature # T: target temperature
if 'T' in v_ac_state and self._prop_target_temp: if 'T' in v_ac_state and self._prop_target_temp:
self.set_prop_value( self.set_prop_value(
@ -645,7 +645,7 @@ class PtcBathHeater(
FeatureTargetTemperature, FeatureTargetTemperature,
FeatureTemperature, FeatureTemperature,
FeatureFanMode, FeatureFanMode,
FeatureSwingMode, FeatureSwingMode
): ):
"""Ptc bath heater""" """Ptc bath heater"""
_prop_mode: Optional[MIoTSpecProperty] _prop_mode: Optional[MIoTSpecProperty]
@ -688,8 +688,8 @@ class PtcBathHeater(
"""Set the target hvac mode.""" """Set the target hvac mode."""
if self._prop_mode is None: if self._prop_mode is None:
return return
mode_value = self.get_map_value( mode_value = self.get_map_key(
map_=self._hvac_mode_map, key=hvac_mode) map_=self._hvac_mode_map, value=hvac_mode)
if mode_value is None or not await self.set_property_async( if mode_value is None or not await self.set_property_async(
prop=self._prop_mode, value=mode_value prop=self._prop_mode, value=mode_value
): ):
@ -711,7 +711,7 @@ class Thermostat(
FeatureTargetTemperature, FeatureTargetTemperature,
FeatureTemperature, FeatureTemperature,
FeatureHumidity, FeatureHumidity,
FeatureFanMode, FeatureFanMode
): ):
"""Thermostat""" """Thermostat"""
_prop_mode: Optional[MIoTSpecProperty] _prop_mode: Optional[MIoTSpecProperty]
@ -772,8 +772,8 @@ class Thermostat(
# set mode # set mode
if self._prop_mode is None: if self._prop_mode is None:
return return
mode_value = self.get_map_value( mode_value = self.get_map_key(
map_=self._hvac_mode_map, key=hvac_mode map_=self._hvac_mode_map, value=hvac_mode
) )
if mode_value is None or not await self.set_property_async( if mode_value is None or not await self.set_property_async(
prop=self._prop_mode, value=mode_value prop=self._prop_mode, value=mode_value
@ -787,7 +787,7 @@ class Thermostat(
if self.get_prop_value(prop=self._prop_on) is False: if self.get_prop_value(prop=self._prop_on) is False:
return HVACMode.OFF return HVACMode.OFF
return ( return (
self.get_map_key( self.get_map_value(
map_=self._hvac_mode_map, map_=self._hvac_mode_map,
value=self.get_prop_value(prop=self._prop_mode)) key=self.get_prop_value(prop=self._prop_mode))
if self._prop_mode else None) if self._prop_mode else None)