mirror of
https://github.com/XiaoMi/ha_xiaomi_home.git
synced 2026-01-19 00:20:44 +08:00
Compare commits
No commits in common. "fbdda23715e8de248526f75eee68a16422458dcd" and "ae1839bf9aa10825e06077b82e01896cd2669784" have entirely different histories.
fbdda23715
...
ae1839bf9a
@ -616,20 +616,14 @@ class PtcBathHeater(FeatureTargetTemperature, FeatureTemperature,
|
||||
continue
|
||||
self._hvac_mode_map = {}
|
||||
for item in prop.value_list.items:
|
||||
if item.name in {'off', 'idle'
|
||||
} and (HVACMode.OFF not in list(
|
||||
self._hvac_mode_map.values())):
|
||||
if item.name in {'off', 'idle'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.OFF
|
||||
elif item.name in {'auto'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.AUTO
|
||||
elif item.name in {'ventilate'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.COOL
|
||||
elif item.name in {'heat', 'quick_heat'
|
||||
} and (HVACMode.HEAT not in list(
|
||||
self._hvac_mode_map.values())):
|
||||
elif item.name in {'heat'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.HEAT
|
||||
elif item.name in {'defog'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.HEAT_COOL
|
||||
elif item.name in {'dry'}:
|
||||
self._hvac_mode_map[item.value] = HVACMode.DRY
|
||||
elif item.name in {'fan'}:
|
||||
|
||||
@ -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]:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user