mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 11:17:21 +00:00
Fix TypeError in Xiaomi Miio fan platform (#55091)
This commit is contained in:
parent
52bbaa8277
commit
0c68a54dea
@ -316,7 +316,7 @@ class XiaomiGenericDevice(XiaomiCoordinatedMiioEntity, FanEntity):
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
self._mode = self._state_attrs.get(ATTR_MODE)
|
self._mode = self._state_attrs.get(ATTR_MODE)
|
||||||
self._fan_level = self._state_attrs.get(ATTR_FAN_LEVEL)
|
self._fan_level = self.coordinator.data.fan_level
|
||||||
self.async_write_ha_state()
|
self.async_write_ha_state()
|
||||||
|
|
||||||
#
|
#
|
||||||
@ -423,7 +423,7 @@ class XiaomiAirPurifier(XiaomiGenericDevice):
|
|||||||
{attribute: None for attribute in self._available_attributes}
|
{attribute: None for attribute in self._available_attributes}
|
||||||
)
|
)
|
||||||
self._mode = self._state_attrs.get(ATTR_MODE)
|
self._mode = self._state_attrs.get(ATTR_MODE)
|
||||||
self._fan_level = self._state_attrs.get(ATTR_FAN_LEVEL)
|
self._fan_level = self.coordinator.data.fan_level
|
||||||
|
|
||||||
@property
|
@property
|
||||||
def preset_mode(self):
|
def preset_mode(self):
|
||||||
@ -451,6 +451,10 @@ class XiaomiAirPurifier(XiaomiGenericDevice):
|
|||||||
|
|
||||||
This method is a coroutine.
|
This method is a coroutine.
|
||||||
"""
|
"""
|
||||||
|
if percentage == 0:
|
||||||
|
await self.async_turn_off()
|
||||||
|
return
|
||||||
|
|
||||||
speed_mode = math.ceil(
|
speed_mode = math.ceil(
|
||||||
percentage_to_ranged_value((1, self._speed_count), percentage)
|
percentage_to_ranged_value((1, self._speed_count), percentage)
|
||||||
)
|
)
|
||||||
@ -510,6 +514,8 @@ class XiaomiAirPurifierMiot(XiaomiAirPurifier):
|
|||||||
@property
|
@property
|
||||||
def percentage(self):
|
def percentage(self):
|
||||||
"""Return the current percentage based speed."""
|
"""Return the current percentage based speed."""
|
||||||
|
if self._fan_level is None:
|
||||||
|
return None
|
||||||
if self._state:
|
if self._state:
|
||||||
return ranged_value_to_percentage((1, 3), self._fan_level)
|
return ranged_value_to_percentage((1, 3), self._fan_level)
|
||||||
|
|
||||||
@ -529,6 +535,10 @@ class XiaomiAirPurifierMiot(XiaomiAirPurifier):
|
|||||||
|
|
||||||
This method is a coroutine.
|
This method is a coroutine.
|
||||||
"""
|
"""
|
||||||
|
if percentage == 0:
|
||||||
|
await self.async_turn_off()
|
||||||
|
return
|
||||||
|
|
||||||
fan_level = math.ceil(percentage_to_ranged_value((1, 3), percentage))
|
fan_level = math.ceil(percentage_to_ranged_value((1, 3), percentage))
|
||||||
if not fan_level:
|
if not fan_level:
|
||||||
return
|
return
|
||||||
|
Loading…
x
Reference in New Issue
Block a user