mirror of
https://github.com/home-assistant/core.git
synced 2025-07-27 23:27:37 +00:00
Fix missing preset_mode feature in bond fans (#92202)
This commit is contained in:
parent
75560aab1b
commit
293fb374ed
@ -89,7 +89,8 @@ class BondFan(BondEntity, FanEntity):
|
|||||||
features |= FanEntityFeature.SET_SPEED
|
features |= FanEntityFeature.SET_SPEED
|
||||||
if self._device.supports_direction():
|
if self._device.supports_direction():
|
||||||
features |= FanEntityFeature.DIRECTION
|
features |= FanEntityFeature.DIRECTION
|
||||||
|
if self._device.has_action(Action.BREEZE_ON):
|
||||||
|
features |= FanEntityFeature.PRESET_MODE
|
||||||
return features
|
return features
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -25,8 +25,14 @@ from homeassistant.components.fan import (
|
|||||||
SERVICE_SET_DIRECTION,
|
SERVICE_SET_DIRECTION,
|
||||||
SERVICE_SET_PERCENTAGE,
|
SERVICE_SET_PERCENTAGE,
|
||||||
SERVICE_SET_PRESET_MODE,
|
SERVICE_SET_PRESET_MODE,
|
||||||
|
FanEntityFeature,
|
||||||
|
)
|
||||||
|
from homeassistant.const import (
|
||||||
|
ATTR_ENTITY_ID,
|
||||||
|
ATTR_SUPPORTED_FEATURES,
|
||||||
|
SERVICE_TURN_OFF,
|
||||||
|
SERVICE_TURN_ON,
|
||||||
)
|
)
|
||||||
from homeassistant.const import ATTR_ENTITY_ID, SERVICE_TURN_OFF, SERVICE_TURN_ON
|
|
||||||
from homeassistant.core import HomeAssistant
|
from homeassistant.core import HomeAssistant
|
||||||
from homeassistant.exceptions import HomeAssistantError
|
from homeassistant.exceptions import HomeAssistantError
|
||||||
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
from homeassistant.helpers import device_registry as dr, entity_registry as er
|
||||||
@ -211,9 +217,9 @@ async def test_turn_on_fan_preset_mode(hass: HomeAssistant) -> None:
|
|||||||
bond_device_id="test-device-id",
|
bond_device_id="test-device-id",
|
||||||
props={"max_speed": 6},
|
props={"max_speed": 6},
|
||||||
)
|
)
|
||||||
assert hass.states.get("fan.name_1").attributes[ATTR_PRESET_MODES] == [
|
state = hass.states.get("fan.name_1")
|
||||||
PRESET_MODE_BREEZE
|
assert state.attributes[ATTR_PRESET_MODES] == [PRESET_MODE_BREEZE]
|
||||||
]
|
assert state.attributes[ATTR_SUPPORTED_FEATURES] & FanEntityFeature.PRESET_MODE
|
||||||
|
|
||||||
with patch_bond_action() as mock_set_preset_mode, patch_bond_device_state():
|
with patch_bond_action() as mock_set_preset_mode, patch_bond_device_state():
|
||||||
await turn_fan_on(hass, "fan.name_1", preset_mode=PRESET_MODE_BREEZE)
|
await turn_fan_on(hass, "fan.name_1", preset_mode=PRESET_MODE_BREEZE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user