Compare commits

..

1 Commits

Author SHA1 Message Date
Li Shuzhen
f7c7754f1f
Merge cfb7c01a44 into 2e60962e94 2025-01-23 11:27:16 +00:00

View File

@ -52,12 +52,7 @@ import logging
from homeassistant.config_entries import ConfigEntry
from homeassistant.core import HomeAssistant
from homeassistant.helpers.entity_platform import AddEntitiesCallback
from homeassistant.components.fan import (
FanEntity,
FanEntityFeature,
DIRECTION_FORWARD,
DIRECTION_REVERSE
)
from homeassistant.components.fan import FanEntity, FanEntityFeature
from homeassistant.util.percentage import (
percentage_to_ranged_value,
ranged_value_to_percentage,
@ -177,9 +172,8 @@ class Fan(MIoTServiceEntity, FanEntity):
self._prop_wind_reverse_reverse = True
elif prop.value_list:
for item in prop.value_list.items:
if item.name in {'foreward', 'forward'}:
if item.name in {'foreward'}:
self._prop_wind_reverse_forward = item.value
elif item.name in {'reversal', 'reverse'}:
self._prop_wind_reverse_reverse = item.value
if (
self._prop_wind_reverse_forward is None
@ -208,9 +202,9 @@ class Fan(MIoTServiceEntity, FanEntity):
if self._speed_names:
await self.set_property_async(
prop=self._prop_fan_level,
value=self.get_map_key(
value=self.get_map_value(
map_=self._speed_name_map,
value=percentage_to_ordered_list_item(
key=percentage_to_ordered_list_item(
self._speed_names, percentage)))
else:
await self.set_property_async(
@ -239,9 +233,9 @@ class Fan(MIoTServiceEntity, FanEntity):
if self._speed_names:
await self.set_property_async(
prop=self._prop_fan_level,
value=self.get_map_key(
value=self.get_map_value(
map_=self._speed_name_map,
value=percentage_to_ordered_list_item(
key=percentage_to_ordered_list_item(
self._speed_names, percentage)))
else:
await self.set_property_async(
@ -270,7 +264,7 @@ class Fan(MIoTServiceEntity, FanEntity):
prop=self._prop_wind_reverse,
value=(
self._prop_wind_reverse_reverse
if direction == DIRECTION_REVERSE
if self.current_direction == 'reverse'
else self._prop_wind_reverse_forward))
async def async_oscillate(self, oscillating: bool) -> None:
@ -299,9 +293,9 @@ class Fan(MIoTServiceEntity, FanEntity):
"""Return the current direction of the fan."""
if not self._prop_wind_reverse:
return None
return DIRECTION_REVERSE if self.get_prop_value(
return 'reverse' if self.get_prop_value(
prop=self._prop_wind_reverse
) == self._prop_wind_reverse_reverse else DIRECTION_FORWARD
) == self._prop_wind_reverse_reverse else 'forward'
@property
def percentage(self) -> Optional[int]: