mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-19 00:20:44 +08:00
Compare commits
1 Commits
1a2d2a51db
...
e6f0a7738f
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e6f0a7738f |
@ -52,12 +52,7 @@ import logging
|
|||||||
from homeassistant.config_entries import ConfigEntry
|
from homeassistant.config_entries import ConfigEntry
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
from homeassistant.helpers.entity_platform import AddEntitiesCallback
|
||||||
from homeassistant.components.fan import (
|
from homeassistant.components.fan import FanEntity, FanEntityFeature
|
||||||
FanEntity,
|
|
||||||
FanEntityFeature,
|
|
||||||
DIRECTION_FORWARD,
|
|
||||||
DIRECTION_REVERSE
|
|
||||||
)
|
|
||||||
from homeassistant.util.percentage import (
|
from homeassistant.util.percentage import (
|
||||||
percentage_to_ranged_value,
|
percentage_to_ranged_value,
|
||||||
ranged_value_to_percentage,
|
ranged_value_to_percentage,
|
||||||
@ -177,9 +172,8 @@ class Fan(MIoTServiceEntity, FanEntity):
|
|||||||
self._prop_wind_reverse_reverse = True
|
self._prop_wind_reverse_reverse = True
|
||||||
elif prop.value_list:
|
elif prop.value_list:
|
||||||
for item in prop.value_list.items:
|
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
|
self._prop_wind_reverse_forward = item.value
|
||||||
elif item.name in {'reversal', 'reverse'}:
|
|
||||||
self._prop_wind_reverse_reverse = item.value
|
self._prop_wind_reverse_reverse = item.value
|
||||||
if (
|
if (
|
||||||
self._prop_wind_reverse_forward is None
|
self._prop_wind_reverse_forward is None
|
||||||
@ -208,9 +202,9 @@ class Fan(MIoTServiceEntity, FanEntity):
|
|||||||
if self._speed_names:
|
if self._speed_names:
|
||||||
await self.set_property_async(
|
await self.set_property_async(
|
||||||
prop=self._prop_fan_level,
|
prop=self._prop_fan_level,
|
||||||
value=self.get_map_key(
|
value=self.get_map_value(
|
||||||
map_=self._speed_name_map,
|
map_=self._speed_name_map,
|
||||||
value=percentage_to_ordered_list_item(
|
key=percentage_to_ordered_list_item(
|
||||||
self._speed_names, percentage)))
|
self._speed_names, percentage)))
|
||||||
else:
|
else:
|
||||||
await self.set_property_async(
|
await self.set_property_async(
|
||||||
@ -239,9 +233,9 @@ class Fan(MIoTServiceEntity, FanEntity):
|
|||||||
if self._speed_names:
|
if self._speed_names:
|
||||||
await self.set_property_async(
|
await self.set_property_async(
|
||||||
prop=self._prop_fan_level,
|
prop=self._prop_fan_level,
|
||||||
value=self.get_map_key(
|
value=self.get_map_value(
|
||||||
map_=self._speed_name_map,
|
map_=self._speed_name_map,
|
||||||
value=percentage_to_ordered_list_item(
|
key=percentage_to_ordered_list_item(
|
||||||
self._speed_names, percentage)))
|
self._speed_names, percentage)))
|
||||||
else:
|
else:
|
||||||
await self.set_property_async(
|
await self.set_property_async(
|
||||||
@ -270,7 +264,7 @@ class Fan(MIoTServiceEntity, FanEntity):
|
|||||||
prop=self._prop_wind_reverse,
|
prop=self._prop_wind_reverse,
|
||||||
value=(
|
value=(
|
||||||
self._prop_wind_reverse_reverse
|
self._prop_wind_reverse_reverse
|
||||||
if direction == DIRECTION_REVERSE
|
if self.current_direction == 'reverse'
|
||||||
else self._prop_wind_reverse_forward))
|
else self._prop_wind_reverse_forward))
|
||||||
|
|
||||||
async def async_oscillate(self, oscillating: bool) -> None:
|
async def async_oscillate(self, oscillating: bool) -> None:
|
||||||
@ -299,9 +293,9 @@ class Fan(MIoTServiceEntity, FanEntity):
|
|||||||
"""Return the current direction of the fan."""
|
"""Return the current direction of the fan."""
|
||||||
if not self._prop_wind_reverse:
|
if not self._prop_wind_reverse:
|
||||||
return None
|
return None
|
||||||
return DIRECTION_REVERSE if self.get_prop_value(
|
return 'reverse' if self.get_prop_value(
|
||||||
prop=self._prop_wind_reverse
|
prop=self._prop_wind_reverse
|
||||||
) == self._prop_wind_reverse_reverse else DIRECTION_FORWARD
|
) == self._prop_wind_reverse_reverse else 'forward'
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def percentage(self) -> Optional[int]:
|
def percentage(self) -> Optional[int]:
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user